Javascript实现
核心: ECMAScript(语法,类型,语句,关键字,保留字,操作符,对象)
文档对象模型 DOM
浏览器对象模型 BOM
数据类型
值类型(基本类型):String,Number,Boolean,Null,Undefined,Symbol(表示独一无二的值)
复杂类型(引用数据类型):Object,Array,Function
由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字.
Undefined类型
Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。
var message; alert(message == undefined) //true
var message = undefined; alert(message == undefined) // true
alert(typeof message) //undefined
Null类型
null类型被看做空对象指针,前文说到null类型也是空的对象引用。
var cat = null
typeof car // "object"
null == undefined // true
null和undefined的区别
null: Null类型,代表“空值”,代表一个空对象指针,使用typeof运算得到 “object”,所以你可以认为它是一个特殊的对象值。
undefined: Undefined类型,当一个声明了一个变量未初始化时,得到的就是undefined。
Boolean类型
该类型只有两个值,true和false
Number类型
Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN ② NaN不等于自身
isNaN() 函数用于检查其参数是否是非数字值
isNaN(123) //false isNaN("hello") //true
String类型
字符串可以由双引号("")或者单引号('')表示:
var name = "skl";
var name = 'skl';
访问字符串的长度 name.length // 3
转化字符串 toString()
Symbol类型
ES6引入了一种新的原始数据类型Symbol,表示独一无二的值。
var s = Symbol();
typeof s // "symbol"
注意,Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象。也就是说,由于 Symbol 值不是对象,所以不能添加属性。基本上,它是一种类似于字符串的数据类型。
Object类型
对象其实就是一组数据和功能的集合。对象看可以通过执行New操作符后跟要创建的对象类型的名称来创建。
var o = new Object();
object的每个实例都具有下列属性和方法
constructor: 保存着用于创建当前对象的函数,对于前面的例子而言,构造函数(constructor)就是Object()
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是实例原型中)是否存在,如o.hasOwnProperty("name")
isPrototypeOf(object): 用于检查传入的对象是否时当前对象的原型。
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for..in语句来枚举。
toLocaleString(): 返回对象的字符串表示
toString(): 返回对象的字符串表示
valueOf(): 返回对象的字符串,数值或布尔值表示。
网友评论