欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于JS變量和作用域詳解

 更新時間:2016年07月28日 08:48:25   投稿:jingxian  
下面小編就為大家?guī)硪黄P(guān)于JS變量和作用域詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

ECMAScript 變量:

1.基本類型值(簡單數(shù)據(jù)段)

2.引用類型值(可能由過個值構(gòu)成的對象) → 保存在內(nèi)存中的對象

------

動態(tài)屬性: 只能給引用型值動態(tài)添加新屬性,以便將來使用。

------

復制變量值 :

基本類型值的復制 → 在變量對象上創(chuàng)建一個新值 → 復制給新變量(互不影響)

引用類型值的復制 → 將存儲在變量對象中的值復制到新變量分配空間中(復制的是一個指針,指向同一個對象,相互影響)

------

傳遞參數(shù):

ECMAScript中所有函數(shù)的參數(shù)都是按值傳遞 。

(函數(shù)外部的值復制給函數(shù)內(nèi)部的參數(shù)。

 → 可以把ECMA函數(shù)的參數(shù)想象成局部變量。)

原因解釋:

說法一:

函數(shù)參數(shù)是一種局部變量,在外部值傳遞給函數(shù)參數(shù),內(nèi)部外部互不影,引用傳遞復制的是地址,所以他內(nèi)務(wù)外部相互有影響。

說法二:對象角度(參數(shù)是一個對象 obj)

------

對象按值傳遞 → 參數(shù)對象和外部對象引用同一個對象 → 外部對象指向的對象在堆內(nèi)存中只有一個,且是全局變量。

不要錯認為是在局部作用在修改的對象在全局作用域(外部)反映出來的結(jié)果 → 函數(shù)內(nèi)部的局部變量在函數(shù)執(zhí)行完會立即銷毀。

------

執(zhí)行環(huán)境(有時候也簡稱“環(huán)境”)及作用域

執(zhí)行環(huán)境定義了白嬢或函數(shù)有權(quán)訪問其他數(shù)據(jù)決定了他們各自的行為 → 每個執(zhí)行環(huán)境都有一個與之關(guān)聯(lián)的變量對象 → 環(huán)境中定義的所有變量和函數(shù)都保存在這個對象。

------

每個函數(shù)都有自己的執(zhí)行環(huán)境 → 當執(zhí)行流進入一個函數(shù)時 → 函數(shù)環(huán)境會被推入一個環(huán)境棧中 → 在函數(shù)執(zhí)行后將其彈出 → 把控制權(quán)返回給之前的執(zhí)行環(huán)境
 
代碼在一個環(huán)境執(zhí)行中時,會創(chuàng)建變量對象的一個作用域鏈(scope chain)

作用域鏈用途:保證對執(zhí)行環(huán)境有權(quán)訪問的所有變量和函數(shù)的有序訪問。

作用域鏈的前端,始終都是當前執(zhí)行的代碼所在環(huán)境的變量對象
------

內(nèi)部環(huán)境可以通過作用域鏈所有的外部環(huán)境,但是外部環(huán)境不能訪問內(nèi)部環(huán)境(環(huán)境的聯(lián)系是線性的,有次序的 → 向上搜索作用域鏈以查詢變量和函數(shù)名)

函數(shù)參數(shù)也被當做變量來對待

------

延長作用域鏈:

有些語句可以在作用域的前端鏈臨時增加一個變量(變量在代碼執(zhí)行后移除)

1.try-catch語句的catch塊

2.with語句
------

Javas沒有塊級作用域

這里可以再簡單區(qū)分一下塊級作用域和函數(shù)作用域

以上這篇關(guān)于JS變量和作用域詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript中的動態(tài)?import()用法示例解析

    JavaScript中的動態(tài)?import()用法示例解析

    這篇文章主要為大家介紹了JavaScript中的動態(tài)import()用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • webpack-url-loader 解決項目中圖片打包路徑問題

    webpack-url-loader 解決項目中圖片打包路徑問題

    這篇文章主要介紹了webpack-url-loader 解決項目中圖片打包路徑問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • 基于原生JS實現(xiàn)圖片裁剪

    基于原生JS實現(xiàn)圖片裁剪

    要進行圖片編輯,最重要要能夠?qū)D片進行裁剪。主要的實現(xiàn)分成兩部分,一部分是前端利用js進行裁剪區(qū)域選擇,第二部分是利用PHP進行后臺處理?,F(xiàn)在就跟大家分享一下。
    2016-08-08
  • 如何用CocosCreator制作微信小游戲

    如何用CocosCreator制作微信小游戲

    這篇文章主要介紹了如何用CocosCreator制作微信小游戲,從下載工具到配置,最后連接微信小游戲預(yù)覽,一步步很詳細,希望讀者們仔細看一下
    2021-04-04
  • 微信小程序多音頻播放進度條問題

    微信小程序多音頻播放進度條問題

    小程序的音頻組件居然沒有進度控制的功能,需要我們自己實現(xiàn),下面腳本之家小編給大家?guī)砹宋⑿判〕绦蚨嘁纛l播放進度條問題,感興趣的朋友一起看看吧
    2018-08-08
  • ES6中async函數(shù)與await表達式的基本用法舉例

    ES6中async函數(shù)與await表達式的基本用法舉例

    async和await是我們進行Promise時的一個語法糖,async/await為了讓我們書寫代碼時更加流暢,增強了代碼的可讀性,下面這篇文章主要給大家介紹了關(guān)于ES6中async函數(shù)與await表達式的基本用法,需要的朋友可以參考下
    2022-07-07
  • javascript 操作cookies及正確使用cookies的屬性

    javascript 操作cookies及正確使用cookies的屬性

    在 JS(JavaScript) 操作cookies比較復雜,在 ASP 里面我們只需要知道 cookie 的名稱、cookie 的值就行了,而 JS 里面,我們面對的是 cookie 的字符串,你自己編寫這個字符串寫入客戶端,然后自己解析這個字符串。
    2009-10-10
  • javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁的高度、寬度等

    javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁的高度、寬度等

    這篇文章主要介紹了javascript獲取和判斷瀏覽器窗口、屏幕、網(wǎng)頁的高度、寬度等,需要的朋友可以參考下
    2014-05-05
  • js實現(xiàn)酷炫倒計時動畫

    js實現(xiàn)酷炫倒計時動畫

    這篇文章主要為大家詳細介紹了js實現(xiàn)酷炫倒計時動畫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 微信小程序?qū)崿F(xiàn)打卡日歷功能

    微信小程序?qū)崿F(xiàn)打卡日歷功能

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)打卡日歷功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11

最新評論