javascript
javascript高程3 学习笔记(二)
ECMAScript function的理解
ECMAScript 函數(shù)與其他語言函數(shù)最大的不同在于,其不介意傳入多少參數(shù)以及參數(shù)的類型
比如函數(shù)的形參有兩個,但是調(diào)用函數(shù)傳入的參數(shù)可以寫一個,三個或不寫參數(shù)(對應(yīng)undefined)等,解析器都可以正常解析,這是因為
ECMAScript中參數(shù)在內(nèi)部是以一個數(shù)組形式來表示,故而不需要關(guān)系傳入?yún)?shù)的數(shù)量和類型
在函數(shù)體內(nèi)通過arguments對象來訪問這個參數(shù)數(shù)組,從而獲取傳遞給函數(shù)的參數(shù)
修改命名參數(shù)值不會改變arguments對應(yīng)值
可以通過arguments.length來獲得傳給函數(shù)參數(shù)的個數(shù),依次,可以來寫不同的實(shí)現(xiàn)方法
ECMAScript沒有重載的概念,重名函數(shù),其后會覆蓋前面相同定義的,但是可以通過上一點(diǎn)模仿重載
基本類型 引用類型
引用類型,可以添加屬性和方法
基本類型和引用類型值在復(fù)制變量值的差異,引用類型是通過指針對象來實(shí)現(xiàn)的
參數(shù)傳遞,二者都是通過值傳遞的
用instanceof來檢測具體的引用類型
demo代碼 寫一遍 理解一遍
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>js高程學(xué)習(xí)筆記2 demo</title><script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><style type="text/css"></style><script type="text/javascript">function jsFunction(demoNum){switch(demoNum){case 1: sayHi("Jim"," nice to meet you");break;case 2: sayHi();break;case 3: sayHi2("Jim"," nice to meet you");break;case 4: doAdd(10);break;case 5: doAdd(10,2000);break;}}// 有參數(shù)的function sayHi(name,message){alert("hello "+name+message);}// 通過arguments獲取參數(shù)function sayHi2(){alert("hello "+arguments[0]+arguments[1]);}// 通過arguments.length實(shí)現(xiàn)重載的功能function doAdd(){if(arguments.length == 1){alert(arguments[0] + 10);}else if(arguments.length == 2){// 修改命名參數(shù)值不會改變arguments對應(yīng)值 //arguments[1] = 100; alert(arguments[0]+arguments[1]);}}function test(){var person = new Object();setName(person);alert(person.name);}function setName(obj){obj.name = "Nicholas"// 引用變量的參數(shù)傳遞 也是值傳遞// obj = new Object();// obj.name = "Jim";}</script> </head> <body><div class="content">js函數(shù)的理解,數(shù)值變量,引用變量</div><hr/><div class="jsFunction"><div>js函數(shù)的一些demo</div><input class="demo1" type="button" value="sayHi" onclick="jsFunction(1)"><input class="demo2" type="button" value="sayHi2" onclick="jsFunction(2)"><input class="demo3" type="button" value="sayHi2" onclick="jsFunction(3)"><input class="demo4" type="button" value="doAdd(10)" onclick="jsFunction(4)"><input class="demo5" type="button" value="doAdd(10,20)" onclick="jsFunction(5)"></div><hr/><div class="dataType"><div>數(shù)值類型 引用類型</div><input class="demo6" type="button" value="setName" onclick="test()"></div> </body> </html>總結(jié)
以上是生活随笔為你收集整理的javascript高程3 学习笔记(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用devenv/MSBuild在命令行
- 下一篇: 谈谈Ext JS的组件——布局的使用方法