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 97色在线观看免费视频,亚洲美女黄色片,国产成人精品白浆免费视频试看

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          前端基礎 - Javascript函數傳值的方式

          文首發在個人博客上: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中基本數據類型的賦值操作都是賦值傳值;復合數據類型的賦值都是引用傳址。


          主站蜘蛛池模板: 91久久精品国产免费一区| 天美传媒一区二区三区| 日韩精品一区二区三区在线观看| 激情亚洲一区国产精品| 精品无码成人片一区二区98| 一区二区三区国产精品| 国产精品一区二区久久乐下载| 亚洲美女高清一区二区三区| 成人区人妻精品一区二区不卡视频| 成人国内精品久久久久一区 | 亚洲蜜芽在线精品一区| 国产精品无码一区二区在线| 日本一区二区三区不卡视频中文字幕| 一区二区高清视频在线观看| 91在线精品亚洲一区二区| 亚洲A∨精品一区二区三区| 精品亚洲A∨无码一区二区三区 | 精品国产一区二区三区久久影院| 一区二区三区视频免费| 暖暖免费高清日本一区二区三区 | 久久久无码一区二区三区| 国产午夜精品一区二区| 性盈盈影院免费视频观看在线一区| 国产精品无码一区二区三区电影| 日韩精品一区二区三区中文字幕| 黑巨人与欧美精品一区| 亚洲福利视频一区| 99久久精品国产一区二区成人 | 台湾无码AV一区二区三区| 精品人妻无码一区二区色欲产成人 | 亚洲国产专区一区| 日韩经典精品无码一区| 国产人妖视频一区在线观看| 在线观看日韩一区| 亚洲一区二区精品视频| 中文字幕一区日韩在线视频| 日本不卡一区二区三区视频| 亚洲av无码一区二区三区不卡| 亚洲AV成人一区二区三区AV| 免费一区二区三区| 无码av中文一区二区三区桃花岛|