对象与函数的相关问题

对象的组成
属性:属性名(字符串)和属性值(任意)组成
方法:一种特别的属性(属性值是函数)
如何访问对象内部数据
属性名:编码简单 有时不能用
[‘属性值’]:编码麻烦,能通用
什么时候必须使用[‘属性名’]的方式
1、属性名包含特殊字符;- 空格
2、属性名不确定

var p = {}
    //1、给p对象添加一个属性;content-type:text/json
    //p.content-tepe = 'text/json'//不能用
    p['content-text'] = 'text/json'
    console.log(p['content-text'])
    //2、属性名不确定
    var propName = 'myage'
    var value = 37
    //p.propName= value
    p[propName] = value
    console.log(p[propName])

以上代码运行结果:
text/json
37

如何定义函数
函数声明
表达式
如何调用(执行)函数
text():直接调用
obj.text():通过对象调用
new text():new调用
test.call/apply(obj):临时让text成为obj的方法进行调用

var obj = {}
        function du() {
            this.jj = 'jkd'
        }
        // obj.du() 不能直接 根本就没有
        du.call(obj)//obj.du()  可以让一个函数成为指定任意对象的方法进行调用
        console.log(obj.jj)

以上代码运行结果为:
jkd

回调函数

 //定义主函数,回调函数作为参数
function A(callback) {
    callback();  
    console.log('我是主函数');      
}
//定义回调函数
function B(){
    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
}
//调用主函数,将函数B传进去
A(B)

以上代码运行结果为:
我是主函数
我是回调函数

常见的回调函数:
dom事件回调函数
定时器回调函数
ajax 请求回调函数
注意:回调函数有同步回调函数与异步回调函数
同步回调函数:

 console.log('数组遍历之前')    
var arr=[11,22,33,4]
arr.forEach(function(item){
    console.log(item)
})
console.log("数组遍历之后")

代码运行结果为:
数组遍历之前
11
22
33
4
数组遍历之后

异步回调函数:

 console.log("回调函数之前")    
//定义主函数,回调函数作为参数
function A(callback) {
    callback();  
}
//定义回调函数
function B(){
    setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
}
//调用主函数,将函数B传进去
A(B)
console.log('回调函数之后')

代码运行结果为:
回调函数之前
回调函数之后
我是回调函数

自执行函数:

(function(){
    console.log("11")
})()
 ((function(){
console.log('11')
})())

以上两段代码都是自行式函数,只是写法不一样
结果都为:11
作用:
1,隐藏实现(可以把具体实现写在函数体内)
2,不会污染外部(全局)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值