• 微信:
  • hai764003
  • QQ:
  • 511211014
  • E-mail:
  • jaquery@163.com

案例总数51

访问总数312356

收藏总数310887

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()转换,false0,true1,进行相加。


2. 关系运算符:

关系运算符的操作数可以是任何类型,如果操作数不是数值型,将会隐式转化。

(1)运算的结果都是布尔值

(2)都是字符串的时候,他会先转化成ASCII码然后进行比较他们的第一个字母。

(3)都是数值的时候,他会正常比较。

(4)当一个字符串,另一个是数值的时候,把字符串尝试转化成为数值然后进行比较,如果不能转化 为数值类型,则会返回NaN,然后返回假。

(5)如果两个都是数值型字符串,那么他们也是隐式转化为ASCII码,只比较第一位数字,比如:

var a=’123’,b=’23’  alert(a>b)是返回假的。

(6)如果一个数值和布尔值进行比较,会把布尔值转化为数值再进行比较true1false0.

(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, 发生错误。


总结:由于自动转换有很大的不确定性,而且不易除错,建议在预期为布尔值、数值、字符串的地方,全部使用BooleanNumberString方法进行显式转换。

加法运算符的类型转化


加法运算符的类型转化


加法运算符(+)需要特别讨论,因为它可以完成两种运算(加法和字符连接),所以不仅涉及到数据类型的转换,还涉及到确定运算类型。

 

小海哥推荐你看: 博客园  php教程分享网站  phpmywind  脚本之家