• JavaScript基础1


    1.字母的大小写敏感

    2.标识符

    3.数据类型

    数字型数据(number)
    整型(十进制、八进制和十六进制)
    浮点型
    字符串型数据(string)
    布尔型数据(boolean)
    特殊数据类型
    转义字符
    未定义类型(undifined)
    空类型(null)
    对象类型
    日期类型
    窗口类型
    文档类型…

    4.函数的调用

    书上有说4中调用方式:

    • 方法调用模式
    • 函数调用模式
    • 构造器调用模式
    • apply调用模式

    下面我们来看看一些实例更好理解。

    1:方法调用模式。

    请注意this此时指向myobject。

    /*函数调用模式*/
        
        var add=function(a,b){
            alert(this)//this被绑顶到window
                return a+b;
            }
        var sum=add(3,4);
        alert(sum)

    2:函数调用模式

    请注意this此时指向window

    /*函数调用模式*/
        
        var add=function(a,b){
            alert(this)//this被绑顶到window
                return a+b;
            }
        var sum=add(3,4);
        alert(sum)

    3:构造器调用模式

    javascript语言精粹一书建议摒弃这中方式。因为有更好的方式。这里先不介绍。下次发表博文的时候贴出来。

    会在这里加一个连接。

    /*构造器调用模式  摒弃*/
        
        var quo=function(string){
                this.status=string;
            }
        quo.prototype.get_status=function(){
                return this.status;
            }
        var qq=new quo("aaa");
        alert(qq.get_status());
    
     

    4:apply调用模式

    ==我们可以来看一个更有用的apply实例。看最下面的代码。

    /*apply*/
        //注意使用了上面的sum函数
        //与myobject
        //这中调用方式的优点在于可以指向this指向的对象。
        //apply的第一个参数就是this指针要指向的对象
        var arr=[10,20];
        var sum=add.apply(myobject,arr);
        alert(sum);
    
     
    
    看这个apply真正应用。bind这是一个绑定时间的函数
    
    var bind=function(object,type,fn){
                if(object.attachEvent){//IE浏览器
                        object.attachEvent("on"+type,(function(){
                                                               return function(event){
                                                                   window.event.cancelBubble=true;//停止时间冒泡
                                                                   object.attachEvent=[fn.apply(object)];//----这里我要讲的是这里
                                                                   //在IE里用attachEvent添加一个时间绑定以后。
                                                                   //this的指向不是到object对象本身所以。我们绑定的function里的this.id是无法正常工作的。
                                                                   //但是如果我们用fn.apply(object)
                                                                   //这里可以看出我们是把apply的第一个对象也就是this的指向变更给了object所以this.id就变成了
                                                                   //object.id 可以正常工作了。
                                                                   
                                                                   }
                                                               })(object),false);
                    }else if(object.addEventListener){//其他浏览器
                            object.addEventListener(type,function(event){
                                                                  event.stopPropagation();//停止时间冒泡
                                                                  fn.apply(this)
                                                                  });
                        }
                
            }
        bind(document.getElementById("aaa"),"click",function(){alert(this.id)}); 
  • 相关阅读:
    Hadoop生态圈
    Kafka原理总结
    多线程 Threading Multiprocessing(Python)
    多线程
    MySQL 基础操作
    Python3+RobotFramework自动化测试九:用Python写Roboot Framework测试
    Python3+RobotFramework自动化测试八:关键字封装
    Python3+RobotFramework自动化测试七:SeleniumLibrary web测试-百度搜索和邮箱登录
    Python3+RobotFramework自动化测试六:Selenium API
    Python3+RobotFramework自动化测试五:元素定位
  • 原文地址:https://www.cnblogs.com/zhengweizhao/p/6528405.html
Copyright © 2020-2023  润新知