JavaScript对象及基本运算符
Object类型
JavaScript对象
对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:var obj={name:“小明”, age:“20”};空格和折行无关紧要。声明可横跨多行: var obj={ name: "zeng ", age: "ni " }; 对象属性调用:obj.属性名称 console.log(obj.name);
JavaScript数组
数组由中括号分隔。在中括号内部,数组的元素由逗号分隔:var arr =[" 30"," 20",“10"];数组下标是基于零的,所以第一个的下标是 [0],第二个是 [1],以此类推。数组元素的调用:arr[数组下标]获得数组里的第一个元素: console.log(arr[0])
原始类型与Object类型有着根本区别
1.原始值是不可更改的。原始值的比较是值的比较,只有它们的值相等时才相等
2.对象是可变的,值是可修改的:var obj={x:1};//定义一个对象obj.x=2;//对象中属性x的值更改为2obj.y=3;//增加新属性y
3.两个对象的比较并非值的比较,即使同样的属性和值 ,也是不相等。索引完全相等的两个数组也不等:var obj={x:1},obj1={x:1}; //具有相同属性的两个对象console.log(obj=obj1); //false,两个单独的对象永不相等var a=[ ],b=[ ]; //两个单独的空数组console.log(a=b); //false,两个单独的数组永不相等
对象的比较
通常将对象称为引用类型,对象的比较均是引用的比较,当且仅当它们引用同一个对象时,才相等。
var arr=[]; //定义一个引用空数组的变量arrvar arr1=arr; //变量arr2引用同一个数组arr1[0]=1; //通过变量b来修改引用的数组console.log(arr1[0]); //1console.log(arr[0]); //1,变量arr也会修改console.log(arr===arr1); //true,arr和arr1引用同一个数组,所以相等
运算符
运算符也可以叫做操作符。主要学习以下运算符:赋值运算符算术运算符+运算符关系运算符条件运算符逻辑运算符in运算符delete运算符
赋值运算符
赋值运算符并不是等于如果我想把5这个值赋值给变量a则:var a=5;
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
| 运算符 | 例子 | 等价于 | 结果 |
|---|---|---|---|
| = | x=y | x=5 | |
| += | x+=y | x=x+y | x=15 |
| -= | x-=y | x=x-y | x=5 |
| *= | x*=y | x=x*y | x=50 |
| /= | x/=y | x=x/y | x=2 |
| %= | x%=y | x=x%y | x=0 |
算术运算符
算术运算符用于执行变量与/或值之间的算术运算。
给定y=5,下面的表格解释了算术运算符:
| 运算符 | 描述 | 例子 | 结果 |
|---|---|---|---|
| + | 加 | x=y+2 | x=7 |
| - | 减 | x=y-2 | x=3 |
| ***** | 乘 | x=y*2 | x=10 |
| / | 除 | x=y/2 | x=2.5 |
| % | 求余数 | x=y%2 | x=1 |
| ++ | 累加 | x=++y | x=6 |
| - - | 递减 | x=- -y | x=4 |
递增和递减
++表示的是变量的值加1++i表示的是,先加1再执行而i++表示的是先执行再加1
+运算符
用于把文本值或字符串变量连接起来。
如需把两个或多个字符串变量连接起来,请使用 + 运算符。
var str1=“今天是个"; var str2=“好天气!”; var str3=str1+str2;console.log(str3);str3的结果是:今天是个好天气!
对字符串和数字进行拼接
var x=5+5; console.log(x); //10var x=“5”+“5”; console.log(x); //55var x=5+“5”; console.log(x); //55var x=“5”+5; console.log(x); //55
如果把数字与字符串相加,结果将成为字符串。
+运算符的隐式转换规则:
字符串与数字进行+拼接时,数字会隐式的转换成字符串字符串与对象进行+拼接时,对象会隐式的转换成字符串数字与null进行+拼接时,null会转换成数字类型布尔值之间进行+拼接时,布尔值会转换成数字类型null和undefined和数字进行拼接时,会转换成数字类型,null为0,undefined为NaN字符串与数字进行-号运算时,字符串会隐式的转换成数字类型
关系运算符(比较运算符)****
关系操作符在逻辑语句中使用,以测定变量或值是否相等。
等于()的情况下 只要值相同就返回True全等(=)的时候需要值和类型都要匹配才能返回True关系操作符返回的是布尔值 true 或 false
给定x=5,下面的表格解释了关系运算符:
| 运算符 | 描述 | 例子 | 结果 |
|---|---|---|---|
| == | 等于 | x==8 | false |
| === | 全等(值和类型) | x=5 x=“5” | tyur false |
| != | 不等于 | x!=8 | tyur |
| > | 大于 | x>8 | false |
| < | 小于 | x<8 | tyur |
| >= | 大于或等于 | x>=8 | false |
| <= | 小于或等于 | x<=8 | false |
纯数字之间比较console.log(1<3);//true数字字符串比较,转换成ASCII码比较console.log(“1”<“3”);//trueconsole.log(“123”<“123”);//falseconsole.log(“123"<“1234”);//true纯字符串比较,先转成ASCII码console.log(“j"<“k”);//trueconsole.log(“abc”<“aad”);//false,多纯字母比较,会依次比较ASCII码
汉字比较,转成ASCII码 console.log(“我”.charCodeAt());//25105 console.log(“的”.charCodeAt());//30340 console.log(“我"<“的”);//true当数字和字符串比较,且字符串为数字。则将数字字符串转为数字 console.log(123<“124");//true当数字和字符串比较,且字符串为非纯数字时,则将非数字字符串转成数字的时候会转换为NaN,当NaN和数字比较时不论大小都返回false. console.log(13>“abc”);//false
条件运算符(三元操作符)
表达式1?表达式2:表达式3
进行表达式1的判断 如果表达式1成立执行表达式2
如果表达式1不成立执行表达式3
var a=5,b=4;console.log(a>b?“ok”:“no”);
逻辑运算符
用于把文本值或字符串变量连接起来。
给定 x=6 和 y=3,下面的表格解释了逻辑运算符:
| 运算符 | 描述 | 例子 | 结果 |
|---|---|---|---|
| && | and | (x<10&&y>1) | true |
| || | or | (x5||y5) | false |
| ! | not | !(x==y) | true |
逻辑与的运算规则
1.两边条件都为true时,结果才为true;2.如果有一个为false,结果就为false;3.当第一个条件为false时,就不再判断后面的条件注意:当数值参与逻辑与运算时,结果为true,那么会返回的会是第二个为真的值;如果结果为false,返回的会是第一个为假的值。
字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。
1.只要有一个条件为true时,结果就为true;2.当两个条件都为false时,结果才为false;3.当一个条件为true时,后面的条件不再判断注意:当数值参与逻辑或运算时,结果为true,会返回第一个为真的值;如果结果为false,会返回第二个为假的值;
&& 优先级高于 ||
逻辑非
首先会将他的操作数转化为一个布尔值,然后求反
运算符优先级
逻辑非 算术操作符 关系操作符 逻辑与 逻辑或
条件操作符 赋值操作符
圆括号可用来改变运算符优先级所决定的求值顺序。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =
本文详细介绍了JavaScript中的对象定义、数组特性、原始类型与Object类型的区别,以及各种运算符(包括赋值、算术、关系、条件和逻辑运算符)的用法和示例。

3923

被折叠的 条评论
为什么被折叠?



