javascript能干什么返回列表
上传时间:2015-02-02 内容关键字:
一、函数类:
isNaN() 该函数会对参数进行隐式的Number()转化,如果转化不成功则返回true。
var a='abc';
alert(isNaN(a));
alert() 输出的内容隐式的转换为字符串
var n = 123;
alert(typeof n);//打印出的结果是number ,这里的number是以字符串的型式打印出来的。
二、运算符类:
1.算术运算符:
- * / %
如果操作数不是数值,将会隐式的调用Number()函数,按照这个函数的转化规则进行转换,如果转 换不成功,整个表达式返回NaN
var num = 124;
var str='abc';
alert(num-str);
+
如果操作数都是数值,然后进行相加。
任何数据类型和字符串相加,都会隐式的调用他们的toString()方法,然后返回他们的拼接结果。
如果操作数都是布尔值,那么进行Number()转换,false为0,true为1,进行相加。
2. 关系运算符:
关系运算符的操作数可以是任何类型,如果操作数不是数值型,将会隐式转化。
(1)运算的结果都是布尔值
(2)都是字符串的时候,他会先转化成ASCII码然后进行比较他们的第一个字母。
(3)都是数值的时候,他会正常比较。
(4)当一个字符串,另一个是数值的时候,把字符串尝试转化成为数值然后进行比较,如果不能转化 为数值类型,则会返回NaN,然后返回假。
(5)如果两个都是数值型字符串,那么他们也是隐式转化为ASCII码,只比较第一位数字,比如:
var a=’123’,b=’23’ alert(a>b)是返回假的。
(6)如果一个数值和布尔值进行比较,会把布尔值转化为数值再进行比较true为1,false为0.
(7)undefined == null
3.等性运算符:
== !=
会对操作数隐式的转换后再进行比较值:
(1)如果其中至少有个一是布尔值,那么会隐式的调用Number()进行转化,然后比较
(2)如果一个为字符串,另一个为数值,那么会隐式的调用Number()对字符串进行转化,如果转化不 成功,则返回false;
var a=’123’,b=123;==的话为true 或者 var a=’abc’,b=123一定为false。
(3)null == undefined
1)比较字符串的时候是比较他们的ASCII码是否相等
2)比较两个数值的时候是比较他们的数值是否相等
3)比较函数的时候,判断他们的位置是否相等
4.逻辑运算符:
A.放在表达式里面用于判断
B.给变量赋值:
var a= b && c b,c都是对象
一个是对象,另一个是隐式的调用Boolean()函数,返回该对象
两都是对象,返回第二个对象
某个是null,返回null
某个是NaN,返回Nan
某个是undefined ,发生错误
var a = new Object();
var b = new Object();
var c = a && b;
alert(c==b);
这个结果是true 说明c就是b,注意Obrect首字母必须大写。
var a = b || c
一个运算数是对象,并且该对象左边的运算数隐式的调用Boolean()函数值均为false,则返 回该对象
两个都是对象,返回第一个对象
最后一个运算数是null,并且其他运算数均为false,则返回null
最后一个运算数是NaN,并且其他运算数均为false,则返回NaN
如果某个运算数是undefined, 发生错误。
总结:由于自动转换有很大的不确定性,而且不易除错,建议在预期为布尔值、数值、字符串的地方,全部使用Boolean、Number和String方法进行显式转换。
加法运算符的类型转化
加法运算符的类型转化
加法运算符(+)需要特别讨论,因为它可以完成两种运算(加法和字符连接),所以不仅涉及到数据类型的转换,还涉及到确定运算类型。
- 上一篇:已经没有了
- 下一篇:javascript兼容性总汇