HTML5总结-JavaScript函数和对象

函数也是值,即可以赋值给变量:

function addOne(num){ return num + 1; }

var plusOne = addOne; //此处并没有调用addOne(),仅仅是使用了函数名

var result = plusOne(1);


匿名函数的使用:

var element = document.getElementById("button");

element.onclick = function() { alert("clicked"); }

(function(){...})();该匿名函数直接执行


JavaScript创建对象(对象字面量):

var myDog = {

          name: "xiaogou",

          weight: 40,

          breed: "Mixed",

          loves:["walks","fetching balls"]

};


访问或改变对象的属性:

if(myDog.weight > 25)...

var breed = myDog["breed"];

myDog.loves.push("chewing bones");

枚举对象所有属性:

for(var prop in myDog){...}//属性的顺序是任意的,因此不能依赖一个特定的顺序。

向函数传入一个对象:

function bark(dog)  { if(dog.weight > 25) {alert("WOOF");}  else((alert("YIP"); }}

bark(myDog);//为节省版面,代码格式已压缩


增加、删除属性:

myDog.age = 5;

delete myDog.age;//删除属性本身(即不光属性的值被删除)


创建构造函数并生成对象:

function Dog(name,breed,weight){

         this.name = name;//形参和实参约定俗成:一样

         this.breed = breed;

         this.weight = weight;

         this.bark = function(){

                      if(this.weight > 25){alert(this.name + "says WOOF!");}

                    else{alert(this.name + "says YIP");}//留意this的用法

       }

}

var a = new Dog("a-dog","Chawalla",8);

var b = new Dog("b-dog","Mixed",21);

a.bark();

b.bark();


单个对象的UML画法:


HTML5总结-JavaScript函数和对象_第1张图片
对象的UML画法

window对象:

window对象表示你的JavaScript程序的全局环境,同时还表示应用的主窗口。

HTML5总结-JavaScript函数和对象_第2张图片
window对象的一些重要属性和方法

Document对象:

虽然document也是window的一个对象,但实际上并不需要写成window.document。document是用来访问DOM的对象。

HTML5总结-JavaScript函数和对象_第3张图片
document对象的一些重要属性和方法

元素对象:

DOM中每一个元素都是对象。

HTML5总结-JavaScript函数和对象_第4张图片
任意元素(P)的属性和方法

零散:

1、JavaScript 的不同之处(相比于C、C++等):函数定义的前面不用var;   形参前面不用var。

2、向函数传递一个变量-如果在函数中改变相应形参的值:若传递的是基本类型值(按值传递)则不会改变原来的实参值;若传递的是数组/对象(引用传值),则会同时改变实参值。

3、如函数没有return语句,则函数返回undefined

4、只要页面存在,全局变量就活着;局部变量“通常”在函数结束时就消失。

5、同一个域只有一个全局作用域:意味着加载的各个文件(页面、js文件等)看到的是同样一组全局变量,正因如此,一定要当心变量的使用,以避免冲突(尽可能减少/消除全局变量)。

6、函数的位置可以出现在脚本的任何位置,即不依赖顺序。(因为:加载页面时,浏览器会解析页面中和外部文件中的所有js文件,开始执行代码前它会看到所有的函数声明)。需要注意的是:如果不同文件中有两个相同的函数,将使用浏览器最后看到的那个函数。

7、如果赋一个新变量而没有使用var关键字,这个变量就是全局的!即使是在一个函数中首次赋值。


TIPS:本文只是个人对过去的总结,不保证简洁性、系统性、易懂性。如需交流:zhejiangdaxue2011(微信号)

你可能感兴趣的:(HTML5总结-JavaScript函数和对象)