1、基本数据类型html
js定义了6种基本数据类型数组
1.做为函数的参数,表示该函数的参数不是对象。
2.做为对象原型链的终点。
1.变量被声明了,但没有赋值时 就等于undefined
2.调用函数时,应该提供的参数没有提供,该参数等于undefined
3.对象没有赋值的属性,该属性的值为undefined
4.函数没有返回值时,默认返回undefined
null属于object数据类型的一种特殊形式函数
function是object数据类型的一种特殊对象this
2、强、弱类型转换spa
隐式类型转换prototype
1.“+”运算符code
当运算符“+”两边一个是数字类型,一个是字符串类型时,js引擎规定进行字符串链接运算而非算术加运算。htm
可将经过此方法将number转换成string对象
2.“-”运算符blog
当运算符“-”,js引擎规定进行算术减运算。
可经过此方法将string类型转化为number
3.if/while会把参数隐式的转换成boolean类型
4.for in 定义对象字面量时 会出现 从标示符到字符串的隐式转换,遍历数组时也会把数组的索引转换为字符串
5.alert
String.prototype.fn = function(){return this}; var a = 'hello'; alert(typeof a.fn()); //-->object alert(a.fn()); //-->hello // 该方法返回this,this能够理解成当前类的实例对象,既然是对象那么typeof a.fn()天然返回是object。
Number.prototype.fn = function(){return this}; var a = 10; alert(typeof a.fn());//-->object alert(a.fn()); //-->10
强制类型转换
一、转换函数
parseInt(),有基模式,二进制、八进制、十六进制。。
parseFloat(),字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。
二、强制类型转换
Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(能够是整数或浮点数);
String(value)——把给定的值转换成字符串。
三、利用弱类型转换
参考一