1. js 函數的參數聲明中用 var 與不用 var的區別
沒有在函數參數前聲明var的,你搞錯了
如果堅持認為沒錯,請給出您所見到的代碼,並自己先測試一下能不能在瀏覽器中跑?
2. js中參數的賦值與修改
解決的辦法很簡單!
var time;
function(){time = a;};function pause(){time=a;};function restart(){time=b;};
把time的聲明放在最上面不被函數包含了就程了全局變數了版!想怎麼改都權行了!
3. 深入理解JS函數的參數(arguments)的使用
JS函數的參數在function內可以用arguments對象來獲取。
參數的調用有兩種方式:
1、期望參數的使用。
2、實際傳遞參數的使用。
應用舉例:
function
Test(a,
b){
var
i,
s
=
"Test函數有";
var
numargs
=
arguments.length;
//
獲取實際被傳遞參數的數值。
var
expargs
=
Test.length;
//
獲取期望參數的數值,函數定義時的預期參數個數(有a和b
2個參數)。
s
+=
(expargs
+
"個參數。");
s
+=
"\n\n"
for
(i
=0
;
i
<
numargs;
i++){
//
獲取參數內容。
s
+=
"
第"
+
i
+
"個參數是:"
+
arguments[i]
+
"\n";
}
return(s);
//
返回參數列表。
}
alert(Test('param1','second
param','第三個參數'));
需要注意的是:
arguments是一個object對象,它不是數組,不能對它使用shift、push、join等方法。
上述舉例時用的arguments[i]中的i只是作為arguments對象的屬性,並不能理解為數組下標。
代碼演示
<html>
<head>
<script
language="javascript">
function
reloadList(){
if(typeof
arguments[0]
==
"function"){
arguments[0].call(this);
arguments[0]();
}
if(typeof
arguments[0]
==
"string")
alert(arguments[0]);
if(typeof
arguments[0]
==
"number")
alert(arguments[0]);
if(typeof
arguments[0]
==
"undefined")
alert(arguments[0]);
if(typeof
arguments[0]
==
"boolean")
alert(arguments[0]);
if(typeof
arguments[0]
==
"null")
alert(arguments[0]);
}
reloadList(function(){});
</script>
</head>
<body>
</body>
以上這篇深入理解JS函數的參數(arguments)的使用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
4. JavaScript 函數參數傳遞問題
1 同樣都是值傳遞為什麼可以給對象加屬性?
當參數為對象是,就不只是值傳遞而是引用專傳遞了屬。所以楞以通過obj.name改變原對象的屬性。
2 還有後面的var obj是把前一個obj覆蓋了嗎?
是的,當你再次var obj=new Object()的時候,會讓js引擎將obj作為一個新的變數,參數obj在後面的代碼中已經無效了。
3 左邊錯誤沒有輸出。右邊正常,變數聲明放在使用的後面只有值類型的變數可以嗎?
在js中,變數的聲明永遠都需要放在變數使用前,右邊的結果參見上面2的說明。左邊出錯,是因為在執行到kk.name = 5的時候,會先檢查變數kk是否存在,若不存在,當然不能調用它的name屬性了,所以後面的代碼都不會再執行。而在右邊,kk=5相當於var kk = 5;所以可以在後面使用alert(kk)輸出,但是再後面的代碼 var kk 則會覆蓋前面的kk變數(也就是說kk不再是5,而是一個新的變數了)。
5. js 帶參數方法
JS調用後台帶參數,參考方法如下:
後台方法:
protected string CsharpVoid(string strCC)
{
strCC = "你好!" + strCC;
return strCC;
}
前台JS如下:
function Init()
{
var v = "中國";
var s = '<%=CsharpVoid("'+v+'") %>';
alert(s);
}
6. 請javascript高手看看,為什麼聲明函數中有兩個參數,而函數體中只能用第二個參數
這個函數的作用是對第一個參數進行格式化的。當然是根據第二個參數來格式化第一個參數了。
7. js不知道函數有幾個參數的函數聲明方法
javascrip的參數只是個形式,不一定說你歸定幾個參數就只能傳幾個參數,
在函數的內部可專以用 arguments 對象來訪問實際屬傳入的參數
arguments對象相當於一個數組,比如說一個函數:
function Fun(){
var args = arguments;
if (args && args.length >= 2){
return args[0] + args[1];
}
}
alert(Fun('a' + 'b'));//彈出 ab