本文共 2835 字,大约阅读时间需要 9 分钟。
var a; a = parseInt("2.33a"); document.write(a);//输出2 b = parseFloat('2.33a'); document.write(b);//输出2.33 c = Number("2.33a"); document.write(c);//输出NaN
表达式:任何数据和运算符组成的式子叫做表达式。例如100、15-8*9等都是表达式。
(1)表达式的值 (2)表达式的功能将不同数据类型进行算数运算。
自动数据类型转换:不同数据类型之间是没有办法进行运算,将数据转换成同一数据类型,再进行计算。document.write("hello"+"world");//输出helloworld document.write("hello"+100);//输出hello100 document.write("hello"+true);//输出hellotrue document.write("hello"+NaN);//输出helloNaN document.write("hello"+undefined);//输出helloundefined document.write("hello"+null);//输出hellonull
alert(100-"20");//输出80 alert(100-"20a");//输出NaN alert("hello"-"hellm");//输出NaN alert(undefined-"n");//输出NaN
alert(100 + true);//输出101 true转成数字为1 alert(100 + false);//输出100 false转成数字为0 alert(100 + undefined);//输出NaN undefined转成数字为NaN alert(100 + NaN);//输出NaN alert(100 + null);//输出100 null转成数字为0
alert(0.8-0.1);//输出0.7000000000000001
alert(1/0);//输出infinity 无穷大 alert(-1/0);//输出-infinity 无穷小 alert("hello"+Infinity);//输出helloinfinity 做字符串拼接 alert(1+Infinity);//输出infinity infinity本身是数字,和1相加还是infinity无穷大
(1)基本赋值运算符 =
功能:将等号右边额值赋给等号左边的变量var a = 10 +30; alert(a);//输出40 a = a + 10; alert(a);//输出50
(2)复合赋值运算符 += 、-=、……
var a = 10; a = a+10 a += 10;//这个写法是上一行代码的简写 a += 10 就相当于 a = a+10 alert(a);//输出30
var a = 5; alert(a++);//输出5 输出的是表达式a++的值 alert(a);//输出6
(2)++a
值:加加前置,先对a进行加1操作,然后再取a的值作为++a的值。 功能:对原有的变量进行加 1 操作。var a = 5; alert(++a);//输出6 输出的是表达式++a的值 alert(a);//输出6
例子
var a = 10; alert(a++ + ++a + a + ++a + a++ + a);//输出74
分析:
首先a的值是10, 第一个a++,加加后置,此时表达式a++的值是10,此时a的值是11。 第二个++a,此时a的值是11,加加前置,所以此时表达式++a的值是12,此时a的值是12。 第三个a,此时a的值是12。 第四个++a,此时a的值是12,加加前置,所以此时表达式++a的值是13,此时a的值是13。 第五个a++,此时a的值是13,加加后置,所以此时表达式a++的值是13,此时a的值是14。 第六个a,此时a的值是14。 所以相当于 10 + 12 + 12 + 13 + 13 + 14 = 74例子
var a = 10; alert(a-- + --a + a + --a + a-- + a);//输出46
转载地址:http://uvqzi.baihongyu.com/