函数
声明函数
function fn () {
console.log("我是被声明的函数");
}
var fu =function () {
console.log("我是一个函数表达式");
}
//函数只有调用后才能实现,否则无意义
函数的调用
fn();即可调用
//fu()调用声明式函数的可以放在前后,调用函数表达式只能放在后面
函数的参数
形参
function fn(a,b){
console.log(num=a+b);
}//声明函数时()里的值叫形参
实参
fn(1,2);//函数调用时()里面的是实参
参数个数问题
实参个数大于形参 多余实参无作用
实参个数小于形参 多的形参会显示undefined 声明但未赋值
return关键字
当函数执行到 return 语句时,它会立即停止执行,并将指定的值作为函数的返回值返回给调用者
对象
创建一个对象
var obj={
name:"张三", //键值对 name 键名【key】"张三" 键值【value】
age:18,
sex:"男"
};
通过new关键字创建
var obj =new Object();
obj.name="李四";
obj.age=20;
访问对象的属性
var obj={
name:"张三",
age:18,
sex:"男"
};
console.log(obj.name);
console.log(obj["sex"]);
//通过 对象名.key 或者 对象名["key"] 来访问对象的属性
属性的增删改查
var obj={
name:"张三",
性别:"女"
};
//增加属性
obj.age=18;
obj.fn=function(){
console.log("abc");
}
//删除属性
delete obj.name;
//修改属性
obj.sex="男";
obj.fn =function(){
console.log(123);
}
//查找属性
console.log(obj.hasOWnProperty("name"))
//若存在输出true 不存在输出false
// 增加和修改用的都是 obj.key / obj["key"] ====>增加还是修改取决于key是否存在,存在则是修改,不存在则是增加
// 删除用的是 delete obj.key 从对象里直接移除
循环输出对象的属性
var obj={
name:"张三",
age:18,
sex:"男"
};
for(var key in obj){ //key是一个变量
console.log(key);//输出的是键名
console.log(obj[key]);//输出键值
}
复杂对象结构
var obj = {
a: "123",
b: 456,
c: true,
d: {
qwer: 1234
},
fn: function () {
console.log("abcd");
}
}
console.log(obj.d.qwer);
obj.fn();//调用内部函数
console.log(obj.x);
console.log(obj.x.z);
后面两个会有错误
console.log(obj.x); //undefined 没有找到
console.log(obj.x.z);//Cannot read properties of undefined _____ 使用z,z找不到属性
这个值前面的值就已经是undefined