JS高级程序设计2nd部分知识要点1

保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机的将浮点数值转换为整数值
浮点数值的最高精度是17位小数
parseInt 字符串转换为数值,可传基数(8,16)
parseFloat 同上
区别:parseFloat始终会忽略前导的零,只解析十进制的值,16进制的字符串始终会转换成0。

后置递增和递减与前置递增递减重要的区别:递增与递减操作是在包含它们的语句被求值之后才执行的

示例:

var num1=2;var num2=20; var num3=num1--+num2;alert(num3);//22alert(num1);// 1var num4=num1+num2; alert(num4); 

位操作符:

32位有符号整数,前31位表示整数的值,第32位用于表示数值的符号:0表示正数,1表示负数。表示符号的位叫做符号位,符号位的值决定了其他位数值的格式。

二进制补码(负数以二进制码存储)的步骤:

1>求这个数值绝对值的二进制码;

2>求二进制反码,即将0替换为1,将1替换为0;

3>得到的二进制反码加1;

按位非 ~ (NOT 波浪线):本质-操作数的负值减1.

按位与 & (AND ):只有两个数值对应位都是1时才返回1,任何一位是0,结果都是0.

按位或 | (OR):有一位是1的情况下就返回1,只有两个位都是0时才返回0.

按位异或 ^ (XOR):两个数值对应位上只有一个1时才返回1,如果对应的两位都是1或0,就返回0.

左移<<:左移不会影响操作数的符号位

有符号的右移>>:保留符号位(即正负号标记)从第二位开始

无符号右移>>> 正数的结果与有符号右移相同,负数的无符号位右移是以0来填充空位,不是像有符号右移那样以符号位的值来填充空位。

ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数。

时间: 2024-11-22 20:02:48

JS高级程序设计2nd部分知识要点1的相关文章

JS高级程序设计2nd部分知识要点5

JS Regexp 字面量模式 用\反斜杠转义 构造函数中的字符串 也用\转义正则也用\ RegExp实例属性 global -布尔值  /g ignoreCase -布尔值 /i lastIndex -整数 表示开始搜索下一个匹配项的字符位置,从0算起. multiline -布尔值 /m source -正则表达式的字符串 RegExp实例方法 exec() 接受一个参数(要应用模式的字符串) ,然后返回包含第一个匹配信息的数组,没匹配近回null,返回的数组包含两个额外的属性:index

JS高级程序设计2nd部分知识要点7

例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="myDiv">Click me</div> </body> </html>

JS高级程序设计2nd部分知识要点3

对象转换方法:1> toLocaleString(),2> toString(),ValueOf()方法会返回相同的值 栈方法是 LIFO (后进先出)的数据结构 -push ,pop 方法 队列方法是 FIFO(先进先出)的数据结构 - shift , push,unshift,pop方法(IE对Javascript的实现中存在一个偏差,其unshift()方法总是返回undefined而不是数组的长度.) slice()方法-能够基于当前数组中的一个或多个项创建一个新数组.可以接受一或两个

JS高级程序设计2nd部分知识要点4

ECMAScript中所有函数的参数都是按值传递的. 5种基本数据类型: Undfined,Null,Boolean,Number,String. ECMAScript中的所有参数传递的都是值,不可能通过引用传递参数. 函数声明会优先于函数表达式被解析器解析,函数表达式则必须笔等到解析器执行到它所在的代码行,才会真正被解释执行. 例子: alert(sum(10,10)); function sum(num1,num2){ return num1+num2; } ----------------

&lt;JS高级程序设计3&gt;_PART3

1.ECMAScript中所有数都以IEEE-754 64位格式存储,但位操作符不直接操作64位的值.是先64位转换成32位的整数,再操作,得到结果再转成64位. 2.首位是符号位.之后的31位代表整数的值. 3.用toString(2)打印二进制,得到的是被处理过的二进制. 4.按位非(NOT)~,数转成二进制,取反.相当于把操作数先变负再-1; 5.按位与(AND)&,两个数的二进制,有一个0结果就是0,两个都是1才为1. 6.按位或(OR)|,有一个1结果为1,都是0才为0. 7.按位异或

&lt;JS高级程序设计3&gt;_PART4

1.基本数据类型:Undefined,null,Number,String,Boolean.引用数据类型:保存在内存中的对象. 2.JS不允许直接访问内存中的位置,不能直接操作对象的内存空间.所以操作对象时,实际上是操作的对象的引用,而不是实际的对象. 3. var num1 = 1; var num2 = num1; 一个基本类型的变量向另一个赋值时,执行了复制操作,两个变量互不影响. var obj1 = new Object(); var obj2 = obj1; obj1.age = 2

读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图

读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺乏必要的绘图驱动程序,则浏览器即使支持了也没用   <canvas> var drawing = document.getElementById("drawing"); if( drawing.getContext ){ drawing.getContext("2d"

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener()用于处理指定和删除事件处理程序操作.所有的DOM节点中都包含这两种方法,并且它们都接受3个参数:要处理的事件名.作为事件处理程序的函数和一个布尔值.最有这个布尔值参数是true,表示在捕获阶段调用事件处理程序:如果是false,表示在冒泡阶段调用事件处理程序. 要在按钮上为click事件添加事件处

JS高级程序设计拾遗

<JavaScript高级程序设计(第三版)>反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的.记不清的地方记录下来,方便以后巩固. 0. <script>元素属性 async表示立即下载脚步,但不应该妨碍页面中其他操作: defer表示延迟到文档完全被解析和显示之后再执行.这两个属性都仅适用于外部脚步,而且现实中脚步不一定按顺序执行.指定async属性的目的是不让页面等待脚步下载和执行. 最好只包含一个延迟脚本,把延迟脚本放在页面最底部仍然是最佳选择.