- 学习复盘
- 函数
- 对象
函数
函数(Function)
- 函数也是一个对象
- 它具有其他对象所有的功能
- 函数中可以存储代码,且可以在需要时调用这些代码
语法:
function 函数名(){
语句...
}
调用函数:
- 调用函数就是执行函数中存储的代码
- 语法:
函数对象()
使用typeof检查函数对象时会返回function
函数的定义方式:
1.函数声明
function 函数名( [参数] ){
语句...
}
2.函数表达式
const 变量 = function( [参数] ){
语句...}
3.箭头函数
( [参数] )=>{
语句......}
注意:当箭头函数中只有一个参数时,可以省略( )
函数每次调用,都会重新创建默认值
形式参数
- 在定义函数时,可以在函数中指定数量不等的形式参数(形参)
- 在函数中定义形参,就相当于在函数内部声明了对应的变量但是没有赋值
实际参数
- 在调用函数时,可以在函数的()传递数量不等的实参
- 实参会赋值给其对应的形参
- 参数:
1.如果实参和形参数量相同,则对应的实参赋值给对应的形参
2.如果实参多余形参,则多余的实参不会使用
3.如果形参多余实参,则多余的形参为undefined
4.对象可以作为参数传递
5.传递实参时,传递的不是变量本身,而是变量中储存的值
//使用对象作为参数
function fn(a){
//console.log("a=",a)
//console.log(a.name)
a={}//修改变量时,只会影响当前变量
a.name = '猪八戒'//修改对象时,如果有其他变量指向该对象则所有指向该对象的变量都会受到影响
console.log(a)
}
//对象可以作为参数传递
let obj={name:'孙悟空'}
//传递实参时,传递的并不是变量本身,而是变量中储存的值
fn(obj)
console.log(obj)
参数的类型
- JS中不会检查参数的类型,可以传递任何类型的值作为参数
注意:
定义参数时,可以为参数指定默认值
默认值,会在没有对应实参时生效
//函数每次调用,都会重新创建默认值
function fn1(a = {name:"孙悟空"}){
console.log()
a.name="唐僧"
console.log("a=",a)
}
fn1()//孙悟空 唐僧
fn1()//孙悟空 唐僧
//函数每次调用,都是共用一个对象
let obj= { name : "猪八戒"}
function fn2(b = obj){
console.log("b=",b)
b.name="沙和尚"
console.log("b=",b)
}
fn2()//猪八戒 沙和尚
fn2()//沙和尚 沙和尚
对象
对象
-
对象是JS中的一种复合数据类型, 它相当于一个容器,在对象中可以存储各种不同类型数据
-
对象中可以存储多个各种类型的数据对象中存储的数据,我们称为属性
向对象中添加属性: 对象.属性名 = 属性值
-
读取对象中的属性
对象.属性名
-如果读取的是一个对象中没有的属性 不会报错而是undefined
let obj ={}
obj.name="元祯"
obj.age=18
//函数也可以作为对象的属性
obj.sayHello= function(){
alert('hello')
}
//console.log(obj)
obj.sayHello()
对象字面量
-
可以直接使用鲁{}来创建对象
-
使用{}所创建的对象,可以直接向对象中添加属性
-
语法:{
属性名:属性值
[ 属性名 ] 属性值
}
var person = {
name :"白愁飞",
age:26,
reName:"白幽梦",
fullName:function(){
return this.name+""+this.age;
}
};
生活感悟
这一周最大的感悟就是走路千万不要玩手机,千万要好好看路,不然真的会摔得很惨![]()
2659

被折叠的 条评论
为什么被折叠?



