js数据类型分为两大类:一 值类型
二 引用类型
一 值类型 string number boolean null undefined
eg:
var str = 'aaa' var num = 123 var bool = true var n = null var und = undefined console.log(typeof str) //string console.log(typeof num) //number console.log(typeof bool) //boolean console.log(typeof n) //object console.log(typeof und) //undefined
二 引用类型 Array object function
eg: Array
//创建Array的三种方式 //第一种 var arr = new Array() arr[0] ='aa' arr[1] = 'bb' arr[2] = 'cc' console.log(arr) //[ 'aa', 'bb', 'cc' ] //第二种 var arr = new Array('aa', 'bb', 'cc') //第三种 var arr = ['aa','bb','cc']
eg:object
//创建object的三种方式 //第一种 var preson = new Object() preson.name = '张三' preson['age'] = 20 // 方括号中的键名加引号,否则会报错 console.log(preson) // { name: '张三', age: 20 } //第二种 字面量 var preson_one = {} preson_one.name = 'jack' preson_one.action = function(){ console.log(this.name) //jack } preson_one.action() console.log(preson_one) //{ name: 'jack', action: [Function] } //嵌套字面量 简写形式 var preson1 = { name: 'jack', action: function(){ console.log(this.name) //jack } } preson1.action() //第三种 工厂模式 function createobj(name){ //原材料 var obj = new Object() // 加工 obj.name = name obj.fun = function(){ console.log(this.name) } return obj } var a = createobj('李四') a.fun() console.log(a) //第四种 构造函授 function createobj2(name){ this.name = name this.fun = function(){ console.log(this.name) } } var a2 =new createobj2('大王') a2.fun() //第五种 公有和私有 闭包的应用 function preson3(name){ //私有 var name = name var fun = function(){ console.log(name) } return{ //公有 //闭包 say:fun } } var a3 = preson3("小美") a3.say()
eg:function
//function //第一种 函数定义 function eg(){ alert(123) } eg() //第二种 函数表达式 var eg2 = function (){ alert(456) } eg2() //函数表达式只能在函数后面调用