1.对象
(1)分类
内建对象:由ES标准中定义的对象:Math String Number Boolean Function Object
宿主对象:由js的运行环境提供的对象,目前来讲指由浏览器提供的对象
比如:BOM DOM
自定义对象
(2)基本操作
1.var obj = new Object();
obj.name=“张三”;(in运算符可以对象中是否有对应的属性 例:“name” in obj)
2.对象字面量创建对象(之间用,分隔)
var obj2 = {
name:“张三”,
age:18,
gender:“男”
}
其中也可包含对象
var obj2 = {
name:“张三”,
age:18,
gender:“男”
test:{name:“李四”}
}
使用[]去操作属性,更加的灵活,[]中可以直接传递一个变量,这样变量是多少就可以读取值
用[]读取时:obj[“nihao”] = “你好”;
var n = “nihao”;
obj[n]的值为你好
(3)基本数据类型和引用数据类型
基本:
例:var a= 2;
var b=a;
a++;
此时a的值为3,b的值为2,a,b两者独立于左边的内存中
引用数据类型:如下图所示,改变了一个对象的属性的值,另一个对象也相应改变,他们地址相同
2.函数
(1)语法:function 函数名(形参1,形参2…){
语句…
}
例:function sum(a,b){
console.log(a+b);
}
(2)形参相当于在内部声明了对应的变量,但没有赋值
(3)调用函数时,可以在()中指定实参
例 sum(1,2)
(4)return 用来返回函数执行结果和结束整个函数
例:function sum(a,b,c){
var d = a+b+c;
return d;//也可返回true或者false
}
var result = sum(1,2,3);
console.log(result)//此时result的值为6,如果不return结果为undefined,函数中return后的语句都不会执行
实参可以是对象
例
//创建一个对象
var obj2 = {
name:“张三”,
age:18,
gender:“男”
}
function sayHello(o){
console.log(o.name)
}
sayHello(obj2);//此时值为值为张三
返回值可以是任意的数据类型,也可以是一个对象
例 function fun2(){
var obj = {name:“张三”};
return obj;
}
var a = fun2();//值为obj
故a.name为张三