zoukankan      html  css  js  c++  java
  • javascript基础拾遗(二)

    1.对象定义
    定义属性

    var language = {
            name:'javascript',
            score:9.0
        };
        console.log(language.name)
        console.log(language.score)
    

    定义方法

    var language = {
            name:'javascript',
            score:9.0,
            percent: function () {
                var result = this.score/10*100 + '%';
                return result;
            }
        };
        console.log(language.name)
        console.log(language.score)
        console.log(language.percent)
        console.log(language.percent())
    

    this关键字详解
    在属性和方法中,this关键字表示对象本身,即language
    如果不在对象中定义的方法或变量中,this指代的是什么呢?

    function get_percent() {
            var result = this.score/10*100 + '%';
            return result;
        }
        var language = {
            name:'javascript',
            score:9.0,
            percent: get_percent
        };
        console.log(language.percent())
        console.log(get_percent())
    	var fn = language.percent
        console.log(fn())
    

    当以对象的方式调用时,this指向被调用的对象,需要注意的是必须用obj.xxx(),this才指向该对象
    当单独调用时,this指向全局对象,也就是window

    如果是方法内部定义的方法呢?

    var language = {
            name:'javascript',
            score:9.0,
            percent: function () {
                function get_percent() {
                    var result = this.score/10*100 + '%';
                    return result;
                }
                return get_percent()
            }
        };
        console.log(language.percent())
    

    答案是找不到对象的,可以再方法内将this赋给变量,然后内部方法访问变量,就可以找到对象了。

    2.apply关键字
    apply关键字用来控制this指向的对象

    function get_percent() {
            var result = this.score/10*100 + '%';
            return result;
        }
        var language = {
            name:'javascript',
            score:9.0,
        };
        var result = get_percent.apply(language,[])
        console.log(result)
    

    get_percent.apply(language,[])
    language:get_percent函数的this参数绑定为language
    []:get_percent函数本身的参数

    与call关键字的区别,apply参数是数组,call按顺序传入。

    3.装饰器

  • 相关阅读:
    注册以及密码验证
    轮播图,渐显,可以左右点击
    节点移动
    数据持久化
    Objective-C Autorelease Pool 的实现原理(转)
    iOS应用架构谈 view层的组织和调用方案(转)
    iOS 开源项目
    iOS开发系列--无限循环的图片浏览器
    富文本常用封装(NSAttributedString浅析)(转)
    OS开发UI篇—ios应用数据存储方式(XML属性列表-plist)(转)
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/7989150.html
Copyright © 2011-2022 走看看