JS 函式的作用域 及其他

2021-09-16 12:08:14 字數 1025 閱讀 6738

作用域是指函式存在的範圍

js只存在兩種作用域:

1.全域性作用域:函式外部的作用域

2.函式作用域:函式內部的作用域

注意:js沒有塊級作用域的概念

例子:for(var i = 0;i<6;i++)

console.log('---->',i);

console.log('--->',age);

變數分為:

1、全域性變數:

定義在全域性作用域的變數

任何乙個函式都可以訪問

當多個函式都需要使用則定義為全域性變數

2、區域性變數:

定義在函式內的變數 區域性變數

一般情況下只能被函式內部訪問

只在函式內部使用定義為區域性變數

eg:var x=10;//全域性函式

function func1()

func1();

console.log(x);//10

函式也有全域性作用域和函式作用域的區分:

宣告在全域性作用域的函式 可以在任意位置呼叫;

宣告在函式內部的函式 【一般】只能在函式內部呼叫

1. 開啟嚴格模式: 'use strict';

a.ecmascript規定:嚴格模式 不能在非函式的**塊中宣告函式。

例子:if (7 > 6)

show();

}for (var i = 0; i < 10; i++)

2.使用函式名獲取函式名

function getsum(a,b)

console.log(getsum.name);//getsum

//獲取形參的個數 函式名.length

console.log(getsum.length);//2

3.自執行函式

語法:(function(形參))(實參)

作用:1.作用域的隔離

2.將變數保留在記憶體中

(function (m) )(10)

(function (m) )(10)

JS變數及其作用域

轉 1 變數及其作用域 變數分為 全域性變數 和 區域性變數 全域性變數 申明在函式外部,可供所有函式使用,而 區域性變數 申明在函式體內部,只能在定義該變數的函式體內使用。備註 在申明變數時沒有var關鍵字,而是直接賦值的變數均為全域性變數 2 在函式體內,區域性變數的優先順序高於全域性變數。按照...

js函式作用域

js的變數作用域是函式級的,在js裡沒有類似c語言的塊級作用域。js程式設計環境的頂級作用域是window物件下的範圍,稱為全域性作用域,全域性作用域中的變數稱為全域性變數。js中的全域性變數相當於js中頂級作用域 window 的屬性。js函式內的變數無法在函式外面訪問,在函式內卻可以訪問函式外的...

Js 函式作用域和塊作用域

你不知道的js 第二版上捲第三章筆記 全域性作用域 定義在函式外部的變數,函式內部可以呼叫 區域性作用域 定義在函式內部的變數,函式外部不可以呼叫 塊級作用域 如同下面這個例子 for var i 1 i 10 i console.log i,b 輸出的還是 10 100!說明js沒有塊級作用域當我...