JS 函数和对象

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/
【总监】十二春秋之,[email protected]
【Master】zelo,[email protected]
【运营】运维艄公,[email protected];****
【产品设计】流浪猫,[email protected]
【体验设计】兜兜,[email protected]
【iOS】淘码小工,[email protected]iMcG33K,[email protected]
【Android】人猿居士,[email protected];思路的顿悟,[email protected]
【java】首席工程师MR_W,[email protected]
【测试】土镜问道,[email protected]
【数据】fox009521,[email protected]
【安全】保密,你懂的。

你可能感兴趣的:(JS 函数和对象)