zoukankan      html  css  js  c++  java
  • JS中级

    面向对象三要素:

    封装
    继承
    多态

    1.this 详解,事件处理中this的本质

    • window
    • this —— 函数属于谁
    	<script type="text/javascript">
    	
    	var arr=[12,65,87];
    	//this:当前的方法,属于谁
    	arr.show =function (argument) {
    		// body...
    		console.log(this);      //[12,65,87]
    	}
    	arr.show();
    
     function show(){
     		console.log(this);      //window
    	}
    	show();
    	
    	</script>
    

    2.Object 的使用:##

    <script type="text/javascript">
    var obj = new Object();
    obj.aaa = 12;
    obj.show = function (argument) {
    	console.log(this.aaa); //12
    }
    obj.show();
    </script>
    

    3.工厂方式:

        <script type="text/javascript">
        function createPerson(name, sex) {
            var obj = new Object();
            obj._name = name;
            obj._sex = sex;
    
            obj.showName = function() {
                console.log('我的名字叫:' + this._name);
            }
            obj.showSex = function() {
                console.log('我是' + this._sex + '的');
            }
            return obj;
        }
    
        var p1 = createPerson('唐三', '男');
        p1.showName();
        p1.showSex();
    
        var p2 = createPerson('唐九妹', '女');
        p2.showName();
        p2.showSex();
        </script>
    

    工厂方式的问题:
    1.没有new
    2.每个对象都有一套自己的函数 —— 浪费资源

    4.new的情况:

        <script type="text/javascript">
        function createPerson(name, sex) {
            //var this = Object();
            this._name = name;
            this._sex = sex;
    
            this.showName = function() {
                console.log('我的名字叫:' + this._name);
            }
            this.showSex = function() {
                console.log('我是' + this._sex + '的');
            }
            //return this;
        }
    
        var p1 = new createPerson('唐三', '男'); //new 的情况下
        p1.showName();
        p1.showSex();
    
        var p2 = new createPerson('唐九妹', '女');
        p2.showName();
        p2.showSex();
        </script>
    
  • 相关阅读:
    property可以声明得位置
    实例变量可以声明得位置
    void *与id类型的相互转换
    对象指针
    __weak修饰符
    __strong修饰符
    Objective-C中的自动释放池
    习题6-8 统计一行文本的单词个数 (15分)
    练习4-3 求给定精度的简单交错序列部分和 (15分)
    习题3-5 三角形判断 (15分)
  • 原文地址:https://www.cnblogs.com/tangge/p/7628121.html
Copyright © 2011-2022 走看看