806笔记(arguments,匿名函数,递归,对象)
arguments
实参的副本是arguments
接收调用函数时的所有实参
function fn(a){
console.log(arguments)
}
fn(12,23,34,25,28,29)
匿名函数
匿名函数:没有名字的函数
//将匿名函数赋值给一个变量
var fn = function () {
alert('hello')
}
fn()
//将匿名函数绑定给一个事件
document.onclick = function () {
alert(0)
}
//匿名函数自我执行,不用写函数调用
;(function(){
alert(123)
})()
//匿名函数的返回值(将一个匿名函数的返回值赋值给一个变量
var num=(function(){
return 3
})()
alert(num) //num=3
//输出一个匿名函数的返回值
alert(
(function(){
return 'hello'
})()
)
//给匿名函数传递参数
var sum=(function(a,b){
return a+b
})(3,4)
alert(sum)
递归✳
函数自己调用自己的过程
本质:实现了循环
//1~n之间所有数的和
fnction fnSum(n){
if (n === 1) {
return 1;
}
//一定要有个循环结束的条件,否则结束不了
return n + fnSum(n - 1)
}
console.log(fnSum(100))
//求5的阶乘
function fnFac(n) {
if (n === 1) {
return 1;
}
return n * fnFac(n - 1);
}
alert(fnFac(5))
对象 object
对象
世界万物皆对象
object 一切具有本质特征和行为的事物
方法:事物的行为
对象是有属性和方法的。有属性和方法的就是对象
一个鼠标
属性(本质特征):大小 形状 颜色
事物的行为(干什么事情):点击 选择
一个人
属性(本质特征):姓名 年龄 身高 体重
事物的行为(干什么事情):跑步 唱歌 敲代码
类
一类有共同本质特征和行为的事物
类是对象的抽象化
对象是类的具体化
如何创建对象
变量只能存储一个值;但是对象可以存储一个对象的所有信息,代表的是一条数据
第一种方法:字面量方式 {key:value,key:value};逗号不能省略
var obj = {
//属性
name: '张三',
age: 12,
//方法
showName: function () {
return this.name //this就指这个对象
},
showAge: function () {
return this.age
}
}
如何访问对象中的属性和方法
对象里的key值都是字符串类型,所有需要加引号
-
对象.属性
console.log(o.name)
-
对象['属性']
console.log(o['name'])
//如何访问对象中的属性和方法
var o = {
name: "lisa",
age: 45,
score=100,
showAge: function () {
console.log(this.age)
}
}
//对象,属性
console.log(o.name)
//对象['属性']
console.log(o['name']) //对象里的key值都是字符串类型,所有需要加引号
//对象.方法()
o.showAge()
//对象['方法']()
o['showAge']()
浙公网安备 33010602011771号