函式變數的作用域
1. 函式體內宣告的變數
2. 引數中的變數
沒有賦值的 function fn(a){}
賦值的,值不是變數 function fn(a=45){}
賦的值為變數 function fn(a=m){}
引數執行的時候,先給形參賦值,形參也是私有變數,如果給形參賦的值也是變數,先看這個變數是不是私有的(不是針對函式體內,只針對形參,還跟形參的順序有關),是私有的直接使用,
如果不是私有的,變數找全域性的,如果全域性沒有報錯
注意:給形參的賦的變數於形參同名 function fn(a=a) 會出現暫時性死區 因為:形參沒有變數提公升
class 類的由來
class 的作用:
1. 定義類的
2. 沒有變數提公升
案例:class person
fn(){}
static mn(){}
class son extends person 內,變數名必須和暴露的介面名一致;
exprot var a="hello world" (不建議)
var a="hello world"; exprot (建議)
引入介面
import from "檔名"
暴露多個變數,必須加 {}
模組檔案暴露什麼,引入檔案接收什麼 (例如:export 為乙個物件,那麼 import from "檔名" 的 a 就是乙個物件)
注意:export 暴露必須是乙個變數,或變數集合
不能直接暴露乙個資料,例如:export 12 這種寫法就是錯的
如果不想讓別人知道你暴露的什麼介面,我們可以使用 as 關鍵字
案例:var a = "hello world";
export ; ben 和 a 都 代表了這個字串
import from "檔名"
console.log(ben); // hello world
export default 介紹
案例:a.js
var a="hello world"
export default a;
b.js
import haha from "a.js";
console.log(haha) //hello world;
總結:export 和 import 時一對,二者後面都必須帶 {} ,花括號裡面的變數名,保持一致
export default 和 import 也是一對,二者後面不用帶 {} ,名字不需要一致;
export default 一次只能對外輸出乙個
exprot default 本質是將值賦給變數 default ,所以,default 後面不能對變數在次宣告;
export default var a x 這種寫法錯的
export default function fn v 這種寫法可以
export default 的本質:
export default 可以是任何變數,所以便能實現 export default
函式 引數 變數作用域
一 函式引數 1.必須引數 必需引數須以正確的順序傳入函式。呼叫時的數量必須和宣告時的一樣。呼叫printme 函式,你必須傳入乙個引數,不然會出現語法錯誤 小括號內的就是引數 小括號內沒東西叫做無參,有叫有參 求任意三個數之和 在定義函式的時候小括號內寫的是變數名字,不需要賦值 在呼叫函式的時候小...
函式中變數的作用域
今天用函式的時候遇到了乙個問題,後來總結了下 函式中若對變數進行了初始化,則該變數為區域性變數 若沒有初始化而直接對該變數操作,則該變數為全域性變數。一般這種情況出現在列表和字典的使用中。如 a 1 b 1 list dict def ch1 b a 1 def ch3 dict x 1 ch1 c...
作用域,變數作用域,作用域鏈知識
第2章 變數作用域 第3章 作用域鏈 預覽 1.全域性作用域 整個script標籤下 或者是單獨的js檔案 外部js 2.區域性作用域也叫 函式作用域 在函式內部就是區域性作用域 這個 的名字 變數 只在函式內部起作用和效果 3.不同作用域下,定義相同變數名是不衝突的。如果是在同一作用域宣告2個相同...