美文网首页小白的H5成长之路Web前端之路Web 前端开发
《小白HTML5成长之路42》自己写一个简单的javascrip

《小白HTML5成长之路42》自己写一个简单的javascrip

作者: 老炉传说 | 来源:发表于2018-01-18 11:33 被阅读31次

    “对象是具体的,类是抽象的!其他编程语言这块分的还是挺清楚的,在Javascript中类和对象有时是傻傻分不清楚。小白你看看这段代码可以执行么?”

    小白看完以后说道:“你这是定义了一个男人对象,然后给对象赋值后输出对象的名字和电话吧!应该可以执行!”

    老朱:“错了,这个是执行不了的,你有没有注意到Man里面name变量前面加了this,如果定义变量的时候前面加了this,就说明这个变量是Man的公共变量,注意不是全局变量,公共变量是指通过Man的实例可以进行读写的变量。function内部定义的时候如果定义变量或者函数前面加了this,基本可以确定这是一个类,类是不能直接使用的,我们需要实例化(new)一下。”

    “你可以这样理解,上面定义的是一个男人类,下面通过new实例化了一个对象xiaobai(小白是一个新的男人对象),实例化的对象就可以使用Man里面前面带this的属性和方法了。”

    小白接着问:“我看到sex定义的时候前面用了var,这说明它是一个局部变量,它的作用是什么呢?”

    老朱说道:“小白,你观察的很仔细。你可以思考一个事情,如果一个人属于男人类,他的性别肯定是男,我们肯定不允许改变他的性别属性。”

    小白说:“可是有时候我可能还需要使用到性别信息,怎样才能让xiaobai这个实例既可以拿到性别信息又不能更改呢?”

    老朱说:“这个好办啊,在Man里面再写一个方法就可以了。”

    “这样不就实现既不能修改sex属性又能获取他了么?在类中定义变量前面加var 更专业的叫法是‘私有变量’,私有变量之针对对象内部使用,通过对象实例无法直接接触到它,需要通过其他方法才能拿到。另外类中的方法有两种定义私有方法的方式,这样它就只能被这个类的实例内部使用,外部无法接触。”

    老朱继续说道:“如果你直接使用xiaobai这个实例调用checktel或者checkname方法程序就会报错。”

    小白看完以后感慨道:“原理我明白了,可以想不通怎么去使用它,我想我还得多看看这方面的资料,朱哥您先忙着,我去练习了。”


    想学H5的朋友可以关注老炉,您的关注是我持续更新《小白HTML5成长之路》的动力!

    相关文章

      网友评论

        本文标题:《小白HTML5成长之路42》自己写一个简单的javascrip

        本文链接:https://www.haomeiwen.com/subject/nrlgixtx.html