Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
文首發在個人博客上:http://www.brandhuang.com/article/1587859232291
《JavaScript高級程序設計》書中說:ECMAScript中所有函數的參數都是按值傳遞的。
把函數外部的值復制給函數內部的參數,就和把值從一個變量復制到另一個變量一樣。
傳遞的是原始值本身
在函數中修改傳入的值,不會影響原來的數據
var value = 1;
function foo(v) {
v = 2;
console.log(v); //2
}
foo(value);
console.log(value) // 1
傳遞的是對象的引用的副本,看下面兩個例子,看看有什么不一樣?
// 例子1
var obj = {
value: 1
};
function foo(o) {
o.value = 2;
console.log(o.value); //2
}
foo(obj);
console.log(obj.value) // 2
// 例子2
var obj = {
value: 1
};
function foo(o) {
o = 2;
console.log(o); //2
}
foo(obj);
console.log(obj.value) // 1
解釋:
對于復雜的數據類型,函數內部的臨時變量和傳入的參數指向同一個內存地址,所以有例子一,我們能通過 o.value 找到內存中的 o,也就找到了外部的 obj,所以我們修改 o.value 值的時候,也會影響 obj 中的 value 值。
對于例子二,因為是直接對傳入的參數進行了賦值操作,這會將內部參數 o 進行重新綁定,指向了一個新的地址,所以此時修改函數內部的值不會對外部有影響。
https://segmentfault.com/q/1010000003023316
感謝你的閱讀
先就記錄這幾個知識點吧,多了一次性也記不住,大概率你也不會來看第二遍
面之間互相傳值通常有以下幾種方法:
1、URL (如:index.html?id=123)
2、cookie
3、本地存儲 (localStorage、sessionStorage)
sessionStorage與 localStorage很相似,不同之處在于 localStorage 里面存儲的數據沒有過期時間設置,而存儲在 sessionStorage 里面的數據在頁面會話結束時會被清除。(也就是localStorage長期保存,sessionStorage 關閉頁面后清除)
今天主要給大家介紹一下使用sessionStorage進行頁面之間互相傳值(通信)
思路:從A頁面跳轉到B頁面,然后B頁面獲取數據再傳到A頁面
A頁面
B頁面
點擊B頁面按鈕返回A頁面,A頁面加載傳回來的數據“我是b頁面,張三豐”
A頁面(a.html)
B頁面(b.html)
值傳值: 將一個變量的值拷貝一份賦給另一個變量。
如果這個變量的值修改的話不會影響到另外一個變量, 這兩個變量之間沒有任何聯系。
<script type="text/javascript">
var num1 = 500
var num2 = num1;
num2 = 40;
alert(num1); // 500;
</script>
引用傳址:將一個變量的地址賦給另一個變量。
如果這個變量的值有修改的話那么另外一個變量將同時受到影響, 將一個變量的內存地址賦值給另外一個變量, 這兩個變量同時指向同一個內存地址,
這兩個變量是有聯系的。
<script type="text/javascript">
var arr1 = [3, 5, 7, 8, 10, 11];
var arr2 = arr1;
arr2[0] = 13;
alert(arr1); //[13, 5, 7, 8, 10, 11]
</script>
在javascript中基本數據類型的賦值操作都是賦值傳值;復合數據類型的賦值都是引用傳址。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。