美文网首页
JS 函数和对象

JS 函数和对象

作者: 淘码小工 | 来源:发表于2017-09-07 17:22 被阅读22次
    1 .JS可以将函数赋给一个变量,例如
    function addOne(num) {
        return num + 1;
    }
    
    var plusOne = addOne;
    var result = plusOne(1);
    

    返回2

    2. JS 还可以创建函数时不指定函数名,例如:
    var f = function(num) {
        return num + 1;
    };
    var result = f(1);
    

    函数实际上是一个值,你知道可以把值存储在变量或者数组中,可以将值作为一个参数传递给函数,还可以把值赋值给对象的属性。

    因此在JS中window.onload加载函数时就可以这么写:

    //当成初始化的函数
    window.onload = function() {
        //init
    }
    

    3.javascript对象的秘密

    Javascript创建对象
    var fido = {
        name:"Fido",
        weight:40,
        breed:"Mixed",
        loves:["walks", "fetching balls"]
    };  //注意这个对象后面要加分号
    

    这个对象有四个属性,name,weight,bread和loves,
    每个属性用一个逗号分隔,不是分号。

    • 使用点记法访问对象属性。fido.weight
    • 使用一个串结合[]记法访问属性。fido["breed"]
    • 改变属性的值。fido.weight = 27
    • 枚举对象的所有属性。 for(var prop in fido){ }
    • 处理对象的数组。var likes = fido.loves
    • 向函数传入一个对象。
        function bark(dog) {
            if(dog.weight > 25) {
                alert("WOOF");
            }
        }
        bark(fido);
    
    • 添加属性,要向一个对象增加属性,只需要为一个新属性赋一个值,如下
    fido.age = 5; 
    
    • 删除属性,可以使用delete关键字删除任何属性。如果删除后,在使用这个属性,会计算为undefined.如果删除成功,delete表达式会返回true;
    delete fido.age;
    

    将一个对象赋值给变量,这个变量会包含这个对象的一个引用,而不是对象本身,可以把引用想成是对象的指针

    • 对象中也可以增加行为,即增加一个函数或者成为方法。例如:
    var fido = {
        name:"Fido",
        weight:40,
        breed:"Mixed",
        loves:["walks", "fetching balls"]
        bark: function() {
            alert("woof woof!") //使用匿名函数
            }
        };  //注意这个对象后面要加分号
    

    使用构造函数创建对象

    下面先为狗建立一个构造函数,它有名字,品种和重量属性,另外还有一个犬叫方法。

    function Dog(name, breed, weight) {
        this.name = name;
        this.breed = breed;
        this.weight = weight;
        this.bark = function() {
            if(this.weight > 25) {
                ...
            }else {
                ...
            }
        };  //注意:这个方法后面要使用分号
    }
    

    86行 构造函数命名首字母要大写,跟类一样。其形参取我们希望的对象属性值。

    87-90行表示我们把对象属性初始化为传入构造函数的值。属性名和形参名不要求相同,不过他们通常是一样的,这也是一个约定。

    注意:这个语法与对象语法有所不同。这些是语句,所以需要用”;“结束个语句,就像我们通常在函数中的做法一样

    • 使用构造函数时需要创建对象,如:
    var fido = new Dog("Fido", "Mixed", 38);
    fido.bark();
    

    在方法中,this就代表哪个对象调用这个方法,这个方法中的this就代表这个对象,可以使用this.属性来获取属性的值。


    window对象

    window对象表示你的javaScript程序的全局环境,同时还表示应用的主窗口。
    windows的几个重要的属性

    window属性
    • location 包含页面的URL,如果改变这个属性,浏览器会访问新的URL
    • Status包含将在浏览器状态区显示的一个串
    • onload属性包含了页面完全加载时要调用的函数。
    • document属性包含DOM
    window方法
    • alert 方法会显示一个提醒。
    • Prompt 类似于Alert,只不过会从用户得到信息
    • open 打开一个新的浏览器窗口。
    • close 关闭窗口
    • setTimeout 制定的时间间隔后调用一个处理程序
    • setInterval 以一个制定时间间隔反复调用一个处理程序。

    window对象相当于你的全局环境,所以即使没有在前面加上window,window的属性或方法名也能顺利解析。


    document对象

    document对象用来访问DOM的对象,他是window对象的一个属性

    document的属性
    • domail 属性是提供文档的服务器的域
    • title 通过document.title 可以使用title属性得到文档的标题
    • URL URL就是文档的URL
    document的方法
    • getElementById 这个方法可以根据元素id获取这个元素
    • getElementByTagName 使用标记获取元素
    • getElementByClassName 使用类获取元素
    • createElement 创建适合包含在DOM中的元素

    元素对象

    通过getElementById方法获取的元素也是一个对象。

    元素的属性
    • innerHTML 在这个元素中插入值
    • childElementCount 元素有多少个子元素
    • firstChild 获取第一个子元素
    元素的方法
    • appendChild
    • insertBefore
    • setAttribute
    • getAttribute

    可以使用方法appendChild和insertBefore向DOM中插入新元素,作为这个元素的子元素

    可以使用setAttribute和getAttribute来设置和获取元素中的属性,比如‘‘src’’,"class"和“id”



    知行办公,专业移动办公平台https://zx.naton.cn/
    【总监】十二春秋之,3483099@qq.com
    【Master】zelo,616701261@qq.com
    【运营】运维艄公,897221533@qq.com;****
    【产品设计】流浪猫,364994559@qq.com
    【体验设计】兜兜,2435632247@qq.com
    【iOS】淘码小工,492395860@qq.comiMcG33K,imcg33k@gmail.com
    【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com
    【java】首席工程师MR_W,feixue300@qq.com
    【测试】土镜问道,847071279@qq.com
    【数据】fox009521,42151960@qq.com
    【安全】保密,你懂的。

    相关文章

      网友评论

          本文标题:JS 函数和对象

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