Javascript笔记(基础转载)

此文章为转载,连接忘记了,转载一下以备之后看看,是否彻底正确还没有知 编码

1.delete 删除之前定义的对象属性或方法引用 对象

2.void 运算符对任何值都返回undefined 字符串

3. ++ – 字符串处理

4.一元加法(+) 特殊做用:能够将字符串转换成数字,它计算字符串的方式与parseInt()类似,主要不一样是只有对以"0x"开头的字符串,才把它转换成十进制的值,所以 +"010" == 10;+"0xB" == 11; it

5.一元减法(-) 与加法类似 字符编码

6.NOT(~) 引用

处理过程: 二进制

(1)把运算数字转换成32位数字 方法

(2)把二进制形式转换成它的二进制反码 移动

(3)把二进制反码转换成浮点数

NOT实质是对数字求负而后减1

7.AND(&)

8.OR(|)

9.XOR(^) 当只有一个数位存放的是1时,它才返回1

egg:

———————————————-

第一个数字第二个数字结果

1     1    0

1     0   1

0     1   1

0     0   0

———————————————-

10.左移运算(<<)

11.右移运算(>>)

12.无符号右移(>>>)

对于正数而言与>>无区别,可是对于负数来说,负数会被转换成正数处理,可是因为符号位的移动,总会获得一个很大的数字

13.Boolean运算符

1.逻辑Not

——————————-

运算数       结果      

对象         false

数字0        true

数字0之外    false

null         true

NaN          true

undefined    发生错误

——————————-

2.逻辑And

———————————————-

运算数                    结果

对象 && Boolean值       对象

两个都是对象            第二个对象

某个是null              null

某个是NaN               NaN

某个是undefined         错误

———————————————-

3.逻辑Or

———————————————-

运算数                    结果

对象 && Boolean值       对象

两个都是对象            第一个对象

某个是null              null

某个是NaN               NaN

某个是undefined         错误

———————————————-

14.乘性运算符

1.乘法运算符

———————————————-

   运算数                    结果

某个是NaN                    NaN

Infinity乘以0                NaN

Infinity乘以0之外的数字    +-Infinity

Infinity乘以Infinity        Infinity

———————————————-

2.除法运算符

———————————————-

   运算数                        结果

某个是NaN                    NaN

Infinity被Infinity除         NaN

Infinity被任何数除           Infinity

0除一个非无穷大的数          NaN

Infinity被0之外的任何数除    +-Infinity

———————————————-

15.加性运算符

常规:

———————————————-

   运算数                        结果

   某个是NaN                   NaN

   Infinity加上Infinity        Infinity

   -Infinity加上-Infinity      -Infinity

   Infinity加上-Infinity        NaN

   +0加上+0                     +0

   -0加上+0                     +0

   -0加上-0                     -0

———————————————-

字符串处理:

———————————————-

   运算数                        结果

   都是String                第二个字符串链接到第一个

   只有一个String            转换另外一个字符串拼接

   对象、数值、布尔值        调用toString()

   null、undefined           调用String()

———————————————-

16.减法

———————————————-

   运算数                     结果

   某个是NaN                  NaN

   Infinity减Infinity         NaN

   -Infinity减-Infinity       NaN

   Infinity减-Infinity        Infinity

   +0减+0                     +0

   +0减-0                     -0

   -0减-0                     +0

一个数是字符串、布尔值、null、undefined则执行Number()转换后进行计算

若是一个操做数是对象,则先调用对象的valueOf(),若是为NaN则为NaN,若是valueOf方法不存在,那么调用toString()后再进行转换

———————————————-

   17.关系运算

———————————————-

若是两个都是数字,执行数字比较

若是两个都是字符串,比较字符编码

若是一个是数字,另外一个是字符串,则字符串转换为数字进行比较

若是一个操数是对象,则调用这个对象的valueOf方法,若是没有则调用toString方法进行转换。

若是一个操做数是布尔值,则先将其转换为数字后进行比较。

任何操做数与NaN比较都返回false

———————————————-

18.相等操做符

两个操做数不是同一个类型的状况下的处理:

———————————————-

若是一个操做数是布尔值,则在比较的时候转换成数值(false:0,true:1)

若是一个操做数是字符串,另外一个操做数是数字,则将字符串转换成数字

若是一个操做数是对象,另外一个不是,则调用对象的valueOf()方法,用获得的基本类型值按照前面的规则进行比较

这两个操做符进行比较时则要遵循下列规则

1) null和undefined是相等的

2) 要比较相等性以前,不能将null和undefined转换成其余任何值

3) 若是一个操做数是NaN,则相等操做返回false,而不相等返回true。更重要的是NaN与NaN也不相等

4) 若是两个操做数都是对象,则比较他们是否是同一个对象。若是两个操做数指向的是同一个对象则返回true,不然返回false

undefined != 0 (Number(undefined) 为NaN)

———————————————-

19.全等和不全等

———————————————-

只在两个操做数不通过转换就相等的状况下返回true

———————————————-

20.条件操做符

var max = a > b ? a : b;

21.赋值操做符

var max = 1;

22.逗号操做符

var num1 = 1,num2 =2;

var num = (5,1,3,0);//结果为0

相关文章
相关标签/搜索