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/
【总监】十二春秋之,3483099@qq.com;
【Master】zelo,616701261@qq.com;
【运营】运维艄公,897221533@qq.com;****
【产品设计】流浪猫,364994559@qq.com;
【体验设计】兜兜,2435632247@qq.com;
【iOS】淘码小工,492395860@qq.com;iMcG33K,imcg33k@gmail.com;
【Android】人猿居士,1059604515@qq.com;思路的顿悟,1217022114@qq.com;
【java】首席工程师MR_W,feixue300@qq.com;
【测试】土镜问道,847071279@qq.com;
【数据】fox009521,42151960@qq.com;
【安全】保密,你懂的。