Javascript笔记(基础转载)

此文章为转载,链接忘记了,转载一下以备以后看看,是否完全正确尚未知

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

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

3. ++ –

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

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

posted on 2013-10-03 23:01  前端小码农  阅读(198)  评论(0编辑  收藏  举报

导航