函數——函數的使用
系統函數:
其中 eval() 用的很多,它可以把一個字符串當做腳本來執行,在需要動態腳本的時候用的比較多。
如:
var str="window.alert('OK')";
//需求是把str當作一個腳本來運行,用eval()函數
eval(str);
escape() 函數可對字符串進行編碼,這樣就可以在所有的計算機上讀取該字符串。
unescape() 函數可對通過 escape() 編碼的字符串進行解碼。
var str1 = "你好";
var str2 = escape(str1); //對字符串進行編碼
window.alert(str2);
var str3 = unescape(str2); //對由 escape() 編碼的字符串進行解碼
window.alert(str3);
除了全局函數外,還有許多對象方法(注:他們屬於對象方法,而不是全局函數)
函數——函數的定義
函數的定義有的程序員把函數稱爲方法,方法其實就是函數,是一個意思。
function 函數名(參數列表){
語句; //函數(方法)主體
return 返回值;
}
1. 參數列表:表示函數的輸入
2. 函數主體:表示爲了實現某一功能代碼塊
3. 函數可以有返回值,也可以沒有
函數的幾種調用方式
- 普通調用
- 通過指向函數的變量去調用
var myvar=函數名;myvar(實際參數);
下面舉個例子:
先定義一個 myfuns.js 文件,寫一個函數,如下:
function test(val){
window.alert("你輸入的是"+val);
}
再寫一個html文件
<html>
<head>
<script language="javascript" src="myfuns.js"></script>
<script language="javascript">
test('hello world'); //普通調用
var myvar = test; //通過指向函數的變量去調用,此時變量就相當於函數的引用(指針)
myvar("中國北京");
window.alert(test); //這句話返回什麼,自己試試
</script>
</head>
<body></body>
</html>
下面談論下函數返回值的問題
比如,test() 函數沒有返回值,如下:
function test(val){
window.alert("你輸入的是"+val);
}
那麼,看html代碼,如下
<html>
<head>
<script language="javascript" src="myfuns.js"></script>
<script language="javascript">
var myvar = test("abc");
//如果test函數沒有返回值,但是你又接收了,則返回的就是undefined
window.alert(myvar);//這句話的結果就是先輸出abc,然後再輸出undefined
</script>
</head>
<body></body>
</html>
再來看test()函數有返回值的情況,如下
function test(val){
window.alert("你輸入的是"+val);
return 10;
}
html代碼如下:
<html>
<head>
<script language="javascript" src="myfuns.js"></script>
<script language="javascript">
var myvar = test("abc");
window.alert(myvar);//這句話的結果就是先輸出abc,然後再輸出10,也就是說myvar就是test()函數的返回值,這很好理解
</script>
</head>
<body></body>
</html>
注意以上兩點即可