- 运行在客户端浏览器中的脚本解释引擎中
- 解释执行
- 弱类型(1. 声明变量时,不用提前指定数据类型2. 一个变量,先后可保存不同类型的数据,3运行过程中,js根据自身的需要,隐式转换数据的类型)
-
面向/基于对象
js数据类型包括原生数据类型和引用数据类型
-
原生数据
包括number String boolean undefined null - number存在舍入误差
var price=1.6;//1.7
var money=2;
console.log(money-price);//舍入误差
//不可避免,只能近似四舍五入
console.log((money-price).toFixed(2));
console.log(555.555*100);//舍入误差
- string js中每个字符都是用unicode编码存储的
百度的string()原理function String(x){ console.log("调用自己的String"); if(x===undefined){ //return 函数执行后,返回一个结果 return "undefined"; }else if(x==null){ return "null"; }else{ return x.toString(); } } console.log( String(null), String(undefined), String(true), String(12.5) );
- boolean
不加引号的true和false直接量,自动就是bool类型
- undefined
- 变量是否被修改过
-
判断对象的属性或数组的元素是否存在
- null
var a;
var b=null;
console.log(
a==null,//true
b==undefined,//true
a===null,//false
b===undefined//false
);
多多感悟 引用类型包括Arry date Math function obj等 下一次接着补充