JavaScript对象及基本运算符

本文详细介绍了JavaScript中的对象定义、数组特性、原始类型与Object类型的区别,以及各种运算符(包括赋值、算术、关系、条件和逻辑运算符)的用法和示例。

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=yx=5
+=x+=yx=x+yx=15
-=x-=yx=x-yx=5
*=x*=yx=x*yx=50
/=x/=yx=x/yx=2
%=x%=yx=x%yx=0

算术运算符

算术运算符用于执行变量与/或值之间的算术运算。

给定y=5,下面的表格解释了算术运算符:

运算符描述例子结果
+x=y+2x=7
-x=y-2x=3
*****x=y*2x=10
/x=y/2x=2.5
%求余数x=y%2x=1
++累加x=++yx=6
- -递减x=- -yx=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==8false
===全等(值和类型)x=5 x=“5”tyur false
!=不等于x!=8tyur
>大于x>8false
<小于x<8tyur
>=大于或等于x>=8false
<=小于或等于x<=8false

纯数字之间比较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,会返回第二个为假的值;

&& 优先级高于 ||

逻辑非

首先会将他的操作数转化为一个布尔值,然后求反

运算符优先级

逻辑非 算术操作符 关系操作符 逻辑与 逻辑或

条件操作符 赋值操作符

圆括号可用来改变运算符优先级所决定的求值顺序。根据运算符优先级的规则,它们将按下面的顺序求值: (), +, +, *, =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值