函數是對象,函數名是指標。
function sayHi(sName, sMessage) { alert("Hello " + sName + sMessage);}
還可以這樣定義它:
var sayHi = new Function("sName", "sMessage", "alert(\"Hello \" + sName + sMessage);");
這兩種沒有區別:
1,JavaScript 是物件導向的程式設計語言 (OOP)。OOP 語言使我們有能力自訂對象和變數類型。document.write(txt.length
),document.write(str.toUpperCase()
)
js的字串就和我們的java中的字串一樣,幾乎擁有同樣的功能方法。
2,JavaScript Date(日期)對象 執行個體,可以顯示動態時鐘,可以直接比較日期的大小,還可以為對象設定特定的日期。
3,javascript(數組)定義數組用:new Array(),數組用for (x in shuzus) 【輸出來沒有逗號】,直接輸出數組的話有逗號。數組可以用concat()方法對數組驚醒合并,
join() |
把數組的所有元素放入一個字串。元素通過指定的分隔字元進行分隔。 |
看手冊
兩種賦值方式,兩種輸出方式,可以直接用sort對文字和數字進行排序
4,js獨特類型Boolean類型,var myBoolean=new Boolean() 如果邏輯對象無初始值或者其值為 0、-0、null、""、false、undefined 或者 NaN,那麼對象的值為 false。否則,其值為 true(即使當自變數為字串 "false" 時)!
5,js算術對象,Math方法裡面的方法,可以求四捨五入,等一些和數學有關的運算
6,JavaScript RegExp(Regex)對象,簡單的模式可以是一個單獨的字元。更複雜的模式包括了更多的字元,並可用於解析、格式檢查、替換等等。
RegExp 對象有 3 個方法:test()、exec() 以及 compile()。
7,javascript變數:寫在函數裡面age = XX.就表示是全域變數。函數是對象而不是資料類型
var age;只聲明變數沒有初始化,就這個變數typeof就是undefined類型的,但是變數沒有聲明就使用,就是錯誤的。那就是沒有定義的變數了,這是不同的。
函數命名的參數只提供便利,但不是必須得。如:function a(){ alert(arguments[0]+arguments[1]);}javascript中函數沒有重載,故當定義重載的函數時:後面一個函數會覆蓋前面一個函數。實際上,未指定傳回值的函數返回的是一個特殊的undefined的值。
<script type="text/javascript">//<![CDATA[
var a = f;
function f(){alert(1);
}
alert(2);
alert(a )
//]]></script>
實際上只輸出2和function f(){alert(1);,因為,f是把函數賦給他,並沒有調用。事實上函數要調用必須要加上a(),如果沒有(),則表明a還是前面的函數類型,
除非再重新給值,不然如 a,或者var a,都是沒用的,a最後還是函數類型。
}
可以吧javascript函數的參數想象成局部變數。