JS学习第六天----表达式和运算符

表达式和运算符

1.如果不清楚运算符的优先级,最简单的办法就是使用括号来明确表明计算顺,赋值操作的优先级很低,几乎自后才被执行

2.如果”+”运算符表达式中一个是字符串,而另一个不是,则另一个会被自动转换为字符串.

如果加号运算符中一个运算数为对象,则这个对象会被转换为可以进行加法运算的数字或可以进行连接运算的字符处澳门,这一转换是通过调用该对象的valueof()或toString()方法来实现的.

3.如果”-”运算符的运算数字不是数字,那么系统会自动把它们转换为数字.

也就是说加号运算符会被有限转换为字符串,而减号运算符会被优先转换为数字.以此类推,只能进行数字运算的运算符的运算数都将被转换为数字.(比较运算符也会优先转换为数字进行比较)

4.加号运算符有将参数转换为数字的功能,如果不能转换为数字则返回NaN

如var a=”100” ; var b=+a; //此时b的值为数字100

5.递增运算符(++),只能运用于变量,如果用在变量前则为前递增运算符,如果用在变量后则为后递增运算符.前递增运算符会用递增后的值进行计算,而后递增运算符用递增前的值进行计算,如:

var a=1;

bar b=a++;//此时b的值为1,因为b的值是a递增前的值.但是a的值已经成了2

var a=1;

var b=++a;//此时b的值为2,a的值也为2

递减运算符(--)的用法与递增运算符的用法相同.

6.关于(===),要想使等式成立,需满足的条件是:

a.等式两边值相同,类型也相同.

b.如果等式两边是引用类型的变量,如数组,对象,函数,则要保证两边引用的是同一个对象,否则,及时是两个单独的完全相同的对象也不会完全相等.

c.等式两边的值都是null或undefined,但如果是NaN就不会想等.

7.关于(==),要想使等死成立,需满足的条件是:

a.等式两边类型不同,但经过自动化转化类型后的值相同,转化时如果有一边为数字,则另一边的非数字类型会优先转化为数字类型;布尔值始终是转换为数字进行比较的,不管等是两边有没有数字类型,true转换为1,false转化为0.对象也会被转换.

b.null==undefined

8.比较运算符如大于,小于等职能对数字或字符串进行比较,不是数字或字符串类型的,将被转化为数字或字符串类型.如果同时存在字符串和数字,则字符串优先转换为数字,如果不能转化为数字,则转化为NaN,此时表达式最后结果为false.如果对象可以转化为数字或字符串,则它会被优先转换为数字.如果运算数都不能被转化为数字或字符串,则结果为false.如果运算数中有一个为NaN,或被转化为了NaN,则表达式的结果总是false,当比较两个字符串时,是将逐个字符进行比较的,按照的是字符在Unicode编码集中的数字,因此字母的大小写也会对比较结果产生影响.

9.in运算符要求其左边的运算数是一个字符串或者可以被转化为字符串,右边的运算符是一个对象或数组,如果左边的值是右边对象的一个属性名,则返回true.

10.intanceof运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字,如果运算符左边的对象是右边类的一个实例,则返回true.在JS中,对象类是由构造函数定义的,所以右边的运算数应该是哟个构造函数的名字.注意,JS中所有对象都是object类的实例.

11.+运算符用于数字或字符串时,并不一定就都会转换成字符串进行连接,如:

var a=1+2+”hello”;//结果为3hello

var b=”hello”+1+2;//结果为hello12

产生这种情况的原因是+运算符是从左到右进行运算的.

12.因为(=)被定义为一个运算符,所以可以将它运用于更复杂的表达式.如:

(a=b)==0;//先把a赋值给b,在检测a的值是否为0

赋值运算符的结核性是从右向左的,因此可以这样使用:

a=b=v=d=100;//给多个变量赋同一个值

13.typeof也是一个运算符,用于返回运算数的类型,typeof也可以用括号把运算数括起来.typeof对对象和数组返回的都是object,因此他只在用来区分对象和原始数据类型时才有用.

14.delete是一个一元运算符,用来删除运算数指定的对象属性,数组元素或变量,如故删除成功则返回true,删除失败则返回false.并不是所有的属性和变量都可以删除,比如用var声明的变量就不能删除,内部的核心属性和客户端的属性也不能删除.

需要注意的是:使用delete删除一个不存在的属性时(或者说他的运算数不是属性,数组元素或变量时),奖罚怒会true.

delete影响的知识属性或变量名,并不会删除属性或变量引用的对象(如果该属性或变量是一个引用类型时)

15.void也是一个一元运算符,他会忽略他的运算符并返回undefined

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-28 10:59:42

JS学习第六天----表达式和运算符的相关文章

python学习笔记表达式和运算符(一)

表达式和运算符 什么是表达式? 1+2*3 就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数.1+2*3 经过计算后得到的结果是7,就1+2*3 = 7.我们可以将计算结果保存在一个变量里,ret = 1-2*3 . 所以表达式就是由操作数和运算符组成的一句代码或语句,表达式可以求值,可以放在"="的右边,用来给变量赋值. 算术运算符 : + - * / //(取整除) %(取余) ** >>> 2+3 >>> 3-2 >>

2、JS中的表达式和运算符

一.表达式 1.原始表达式:2.14,“test”,true/false,null……复合表达式:10*20…… 2.数组.对象的初始化表达式:new Array(1,2),[1,undefined,4],{x:1,y:2}=>var o = new Object();o.x=1;o.y=2;…… 3.函数表达式:var fe = function(){}; (function(){console.log('hello');})()…… 4.属性访问表达式:var o = {x:1}; o.x;

JavaScript学习笔记【2】表达式和运算符、语句、对象

笔记来自<JavaScript权威指南(第六版)> 包含的内容: 表达式和运算符 语句 对象 表达式和运算符 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值undefined.元素列表末尾可以留下单个逗号,这时并不会创建一个新的值为undefined元素. 属性访问表达式,.identifier的写法只适用于要访问的属性名称是合法的标识符,并且需要知道要访问的属性的名字.如果属性名称是一个保留字或者包含空格和标识符,或是一个数字(对于数组来说),则必须使用方括号的写法.当属性

JavaScript 精粹 基础 进阶(2)表达式和运算符

转载请注明出处 原文连接 http://blog.huanghanlian.com/article/5b698e88b8ea642ea9213f4a 表达式和运算符 JavaScript 表达式 表达式是指能计算出值得任何可用程序单元.--Wiki 表达式是一种JS短语,可使JS解释器用来产生一个值.--<JS权威指南> JavaScript 运算符 三元运算符 c ? a : b var val = true ? 1 : 2; // val = 1 //val值为true就会返回冒号前面的值

JavaScript权威指南第04章 表达式和运算符

www.qdmm.com/BookReader/1845423,31051137.aspx www.qdmm.com/BookReader/1845423,31073665.aspx www.qdmm.com/BookReader/1845423,31088923.aspx www.qdmm.com/BookReader/1845423,31104070.aspx www.qdmm.com/BookReader/1845423,31114804.aspx www.qdmm.com/BookRea

第八章 表达式和运算符

表达式和运算符 表达式字面量 整数字面量实数字面量字符字面量字符串字面量 求值顺序 优先级结合性 简单算术运算符求余运算符关系比较运算符和相等比较运算符递增运算符和递减运算符条件逻辑运算符逻辑运算符移位运算符赋值运算符 表达式和运算符 表达式 本章将定义表达式,并描述C#提供的运算符. 运算符是一个符号,它表示返回单个结果的操作.操作数(operand)指作为运算符输入的数据元素.一个运算符会: 将操作数作为输入 执行某个操作 基于该操作返回一个值 表达式是运算符和操作数的字符串.可以作为操作数

第4章 表达式和运算符

表达式(expression)是JS中的一个短语,JS解释器会将其计算(evaluate)出一个结果 4.1 原始表达式 4.2 对象和数组的初始化表达式 4.3 函数定义表达式 4.4 属性访问表达式 4.5 调用表达式 4.6 对象创建表达式 4.7 运算符概述 4.8 算术表达式 4.9 关系表达式 4.10 逻辑表达式 4.11 赋值表达式 4.12 表达式计算 4.13 其他运算符

第四章:Javascript表达式和运算符

表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果.程序中常用量是最简单的一类表达式就是变量.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂的表达式是由简单的表达式组成的.比如数组访问表达式是由一个表示数组的表达式,方括号.一个整数表达式构成.它们所组成新的表达式运算结果是该数组特定位置的元素值.同样的函 数调用表达式由一个表示函数对象的表达式和0个多个参数表达式构成.将简单表达式组成复杂表达式最常用的方法就是运算符. 本章(本文)将讲解所有ja

第 4 章(表达式和运算符)(4.1~ )

表达式是JS中的一个短语,JS 解释器会将其计算出一个结果.程序中的常量是最简单的一类表达式.变量名也是一种简单的表达式,它的值就是赋值给变量的值.复杂表达式是由最简单表达式组成的. 将简单表达式组合成复杂表达式最常用的方法就是使用运算符. 4.1 原始表达式 最简单的表达式是"原始表达式".原始表达式是表达式最小单位 ---- 它们不再包含其他表达式.JS 中的原始表达式包含常量或直接量.关键字和变量. 直接量是直接在程序中国出现的常数值: 1.23 // 数字直接量 "h