JS笔记 数据类型 -Boolean -Undefined -Object -Null -Number 整数,浮点数,进制数 -进制数
var num1=070; //八进制的56 var num2=079; //无效的八进制数---解析为79 var num3=08; //无效的八进制数---解析为8 十六进制必须以0x开头-浮点数
var floatNum1=1.1; var floatNum2=0.1; var floatNum3=.1; //有效,但不推荐浮点数的内存空间是整数的两倍。如果小数点后没有整数,将会被解析成整数 浮点数的最高精度是17位小数 浮点数会存在误差,0.1+0.2结果不是0.3,而是0.3000000000000004
***-Nan(Not a number)非数值*** 这个数值用于表示一个本来要返回数值的操作数未返回数值的情况 特点: 1.任何涉及Nan的操作(例如 Nan/10)都会返回NaN 2.NaN与任何值都不相等,包括NaN本身 -数值转换 Number(), -转换规则 1.如果是Boolean值,true和false将被分别转换为1和0 2.如果是数字值,只是简单的传入和返回 3.如果是null值,返回0 4.如果是undefined,返回NaN 5.如果是字符串,满足以下规则 ~如果字符串中只包含数字,(包括前面带正好和负号的情况),则将其转化成十进制数值 ~如果字符串中包含有效的浮点格式,如“1.1”,则将其转换成对应的浮点数值 ~如果字符串中包含有效的十六进制格式,则转换成对应的十进制数值 ~字符串是空,转换为0 ~字符串中没有上述类型,转换为NaN parseInt(), var num1=parseInt("10",2); //2 按二进制进行解析 var num2=parseInt("10",8); //8 按8进制进行解析 var num2=parseInt("10",10); //10 按10进制进行解析 var num2=parseInt("10",16); //16 按16进制进行解析 parseFloat() -String 字符串一旦创建,值不能被修改。要改变字符串,要销毁原来的字符串 重新赋给一个新的变量一元操作符
var num=25; num = -num; //变成了-25布尔操作符 与,或,非
加减乘除操作符
全等和不全等 === //全等 == //不全等
var result1=("55"==55); //true,因为转换后相等 var result1=("55"===55); //false,因为是不同的数据类型流程控制语句 -for -while -do-while -for-in
for(property in expression) statement for(var propName in window){ document.write(propName); } -label:statement start:for(var i=0;i<10;i++){ alert(i); } -with(expression) statement; var qs=location.search.substring(1); var hostname=location.hostname; var url=location.href; //上述语句都包含location所以使用with语句: with(location){ var qs=search.substring(1); var hostname=hostname; var url=href; }小结 1.基本数据类型:Undefined,Null,Boolean,Number,String 2.没有为浮点数和整数分别定义不同的数据类型,Number类型可以表示所有数值 3.Object,该语言中所有对象的基础类型 4.严格模式为这门语言中容易出错的地方施加了限制 5.提供了很多和C及其他类c语言中相同的基本操作符 6.无须指定函数的返回值,因为任何ECMAScript函数都可以在任何适合返回任何值 7.实际上,未指定返回值的函数返回的是一个特殊的undefined值 8.ECMAScript没有函数签名的概念,因为其函数参数是一个包含零个或多个值的数组的形式传递的 9.函数不能重载