1、delete删除对对象的属性和方法的定义。强制解除对它的引用,将其设置为 undefined

delete 运算符不能删除开发者未定义的属性和方法。

2、void 运算符对任何值返回 undefined。该运算符通常用于避免输出不应该输出的值,没有返回值的函数真正返回的都是 undefined。

3、前增量运算符,就是数值上加 1,形式是在变量前放两个加号(++):

  1. var iNum = 10;
  2. ++iNum;

第二行代码把 iNum 增加到了 11,它实质上等价于:

  1. var iNum = 10;
  2. iNum = iNum + 1

同样,前减量运算符是从数值上减 1,形式是在变量前放两个减号(--):

  1. var iNum = 10;
  2. --iNum;

在这个例子中,第二行代码把 iNum 的值减到 9。

在使用前缀式运算符时,注意增量和减量运算符都发生在计算表达式之前。

4、后增量运算符也是给数值上加 1,形式是在变量后放两个加号(++):与前缀式运算符不同的是,后缀式运算符是在计算过包含它们的表达式后才进行增量或减量运算的。

5、位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。

6、整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围从 -2147483648 到 2147483647。

7、位运算 NOT 由否定号(~)表示,它是 ECMAScript 中为数不多的与二进制算术有关的运算符之一。

位运算 NOT 是三步的处理过程:

  1. 把运算数转换成 32 位数字
  2. 把二进制数转换成它的二进制反码
  3. 把二进制数转换成浮点数

8、Boolean 运算符有三种:NOT、AND 和 OR。

9、

抽象操作 ToBoolean 将其参数按照下表中的规则转换为逻辑值:

参数类型 结果
Undefined false
Null false
Boolean 结果等于输入的参数(不转换)
Number 如果参数为 +0, -0 或 NaN,则结果为 false;否则为 true。
String 如果参数为空字符串,则结果为 false;否则为 true。
Object true

10、

逻辑 NOT 运算符的行为如下:由感叹号(!)表示

  • 如果运算数是对象,返回 false
  • 如果运算数是数字 0,返回 true
  • 如果运算数是 0 以外的任何数字,返回 false
  • 如果运算数是 null,返回 true
  • 如果运算数是 NaN,返回 true
  • 如果运算数是 undefined,发生错误

11、如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值

  • 如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
  • 如果两个运算数都是对象,返回第二个对象。
  • 如果某个运算数是 null,返回 null。
  • 如果某个运算数是 NaN,返回 NaN。
  • 如果某个运算数是 undefined,发生错误。

12、逻辑 AND 运算符用双和号(&&)表示。

13、逻辑 OR 运算符由双竖线(||)表示。

14、乘法还有一些特殊行为:

  • 如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。
  • 如果某个运算数是 NaN,结果为 NaN。
  • Infinity 乘以 0,结果为 NaN。
  • Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity。
  • Infinity 乘以 Infinity,结果为 Infinity。

15、除法运算符也有一些特殊行为:

  • 如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。
  • 如果某个运算数是 NaN,结果为 NaN。
  • Infinity 被 Infinity 除,结果为 NaN。
  • Infinity 被任何数字除,结果为 Infinity。
  • 0 除一个任何非无穷大的数字,结果为 NaN。
  • Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity。

16、除法(余数)运算符由百分号(%)表示:

取模运算符也有特殊的行为:

  • 如果被除数是 Infinity,或除数是 0,结果为 NaN。
  • Infinity 被 Infinity 除,结果为 NaN。
  • 如果除数是无穷大的数,结果为被除数。
  • 如果被除数为 0,结果为 0。

17、加法也有一些特殊行为:

  • 某个运算数是 NaN,那么结果为 NaN。
  • -Infinity 加 -Infinity,结果为 -Infinity。
  • Infinity 加 -Infinity,结果为 NaN。
  • +0 加 +0,结果为 +0。
  • -0 加 +0,结果为 +0。
  • -0 加 -0,结果为 -0。
  • 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
  • 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。

18、减法运算符也有一些特殊行为:

  • 某个运算数是 NaN,那么结果为 NaN。
  • Infinity 减 Infinity,结果为 NaN。
  • -Infinity 减 -Infinity,结果为 NaN。
  • Infinity 减 -Infinity,结果为 Infinity。
  • -Infinity 减 Infinity,结果为 -Infinity。
  • +0 减 +0,结果为 +0。
  • -0 减 -0,结果为 -0。
  • +0 减 -0,结果为 +0。
  • 某个运算符不是数字,那么结果为 NaN。

19、关系运算符小于、大于、小于等于和大于等于执行的是两个数的比较运算,比较方式与算术比较运算相同。

20、等号和非等号用于处理原始值,全等号和非全等号用于处理对象。等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返回 true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。

21、类型转换的规则:

  • 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1。
  • 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
  • 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
  • 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

22、运算符还遵守下列规则:

  • 值 null 和 undefined 相等。
  • 在检查相等性时,不能把 null 和 undefined 转换成其他值。
  • 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
  • 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。

重要提示:即使两个数都是 NaN,等号仍然返回 false,因为根据规则,NaN 不等于 NaN。

些特殊情况,以及它们的结果:

表达式
null == undefined true
"NaN" == NaN false
5 == NaN false
NaN == NaN false
NaN != NaN true
false == 0 true
true == 1 true
true == 2 false
undefined == 0 false
null == 0 false
"5" == 5 true

23、等号和非等号的同类运算符是全等号和非全等号。全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。

24、非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。

25、简单的赋值运算符由等号(=)实现,只是把等号右边的值赋予等号左边的变量。

26、算术运算以及其他几个运算都有复合赋值运算符:

  • 乘法/赋值(*=)
  • 除法/赋值(/=)
  • 取模/赋值(%=)
  • 加法/赋值(+=)
  • 减法/赋值(-=)
  • 左移/赋值(<<=)
  • 有符号右移/赋值(>>=)
  • 无符号右移/赋值(>>>=)

27、用逗号运算符可以在一条语句中执行多个运算。

28、break 语句可以立即退出循环,阻止再次反复执行任何代码。

而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。

29、

30、

31、

32、

33、

34、

35、

36、

37、

38、

39、

40、

41、

42、

43、

44、

45、

46、

47、

48、

49、

50、

51、

52、

53、

54、

55、

JS基础三的更多相关文章

  1. js基础 三种弹出框 数据类型

    总结:js三个组成部分ES:语法DOM:对象模型 => 通过js代码与页面文档(出现在body中的所有可视化标签)进行交互BOM:对象模型 => 通过js代码与浏览器自带功能进行交互 引入 ...

  2. JS基础(三)构造函数

    JS中的构造函数 <script language="JavaScript"> window.onload = function(){ function Bottle( ...

  3. node.js 基础三 消息推送

  4. 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  5. NodeJs>------->>第三章:Node.js基础知识

    第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> ...

  6. JS基础入门篇(三十五)—面向对象(二)

    如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)

  7. JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构

    JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...

  8. Three.js基础探寻三——透视投影照相机

    本篇主要介绍Three.js照相机中的透视投影照相机. 上一篇:正交投影照相机 5.透视投影照相机构造函数 透视投影照相机(Perspective Camera)的构造函数是: THREE.Persp ...

  9. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

随机推荐

  1. "No Python interpreter configured for the project " in Pycharm for python selenium

    自动化测试问题: pyCharm提示python Interpreter没有设置,点击configure Python Interpreter,进入Settings 在 Project Interpr ...

  2. LVDS/DVI/HDMI Interface

    数字视频信号 以SXGA为例,其时序如下: 垂直:         水平: 图中DSPTMG为使能信号,VSYNC为场同步信号,HSYNC为行同步信号.在行场的消隐期(T1与T7),DSPTMG为低电 ...

  3. hi3531结构: VB_CONF_S

    定义视频缓存池属性结构体. typedef struct hiVB_CONF_S {        HI_U32 u32MaxPoolCnt; /* max count of pools, (0,VB ...

  4. jsp页面报错(一)

    jsp页面报错 1.错误位置 <form action="../page/areaType.action" method="POST"> <j ...

  5. fastboot烧写hi3531

    Boot Downloading started. Boot 100 % Downloaded. Boot Downloading completed! U-Boot 2010.06 (Jan 04 ...

  6. FusionWidgets Cylinder图

    1.数据源 Cylinder.xml: <?xml version="1.0" encoding="UTF-8"?> <chart palet ...

  7. Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0

    1.错误描述 [ERROR:]2015-05-05 16:35:50,664 [异常拦截] org.hibernate.exception.GenericJDBCException: error ex ...

  8. Linux显示版本信息并退出

    Linux显示版本信息并退出 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ cat --version cat (GNU coreutils) 8.21 Co ...

  9. linq查询集合并分页展示数据

    private void Bind() { if (Request.QueryString["QuestionNo"] != null) { string QuestionNo = ...

  10. idea-全局默认maven配置

    在项目实战中我们依赖的开发IDE可谓是我们的饭碗,怎么高效优化使用IDE将极大提高我们开发的效率,这里通过一些人性化的设置让我们更加舒适的开发,默认IntelliJ IDEA 是有一套自己的IDE整体 ...