在 Vue2.0中,代碼復用和抽象的主要形式是組件。然而,有的情況下,你仍然需要對普通 DOM元素進行底層操作,這時候就會用到自定義指令。你可以將一些 css樣式抽象到指令中,也可以將一些 js 操作放到指令中去執行。就使用上來說,指令不用像組件一樣需要引入和註冊,註冊後使用非常簡潔方便。對於在項目... ...
javascript簡介
javascrpit是是一種輕量級的編程語言,常用於web前端開發。另外js還可以用來寫node.js類型的服務和工具,在測試web項目的時候需要瞭解。
變數
js定義變數有3種方式:var、const、let,3者的區別:
在 2015 年以前,使用 var 關鍵字來聲明 JavaScript 變數。
在 2015 後的 JavaScript 版本 (ES6) 允許我們使用 const 關鍵字來定義一個常量,使用 let 關鍵字定義的限定範圍內作用域的變數。
const 用於聲明一個或多個常量,聲明時必須進行初始化,且初始化後值不可再修改。
const 的本質: const 定義的變數並非常量,並非不可變,它定義了一個常量引用一個值。使用 const 定義的對象或者數組,其實是可變的,const的變數不能修改的是記憶體地址。
const book = {name:"test"} book.name = "bookname" //可以修改 book = {name:"bookname"}//不可以修改
變數作用域
塊級作用域:var不支持,let 和 const支持
迴圈作用域(for):var是全局,let只在迴圈體內生效
//這裡建議用let,var為全局 for (let i = 0; i < modelAndEvs.length; i++) { ... }
運算符
常規:+ - * /
取模(餘數):%
自增和自減:++,--
賦值表達式支持:x+=y
比較運算符
等於和不等於:==、!=
比較特殊的絕對等於和不絕對等於:===、!== (需要值和類型均相等)
數據類型
值類型(基本類型):字元串(String)、數字(Number)、布爾(Boolean)、
空值:Null
未定義:Undefined
獨一無二的值:Symbol(ES6 引入了一種新的原始數據類型)
引用數據類型(對象類型):對象(Object)、數組(Array)、函數(Function),還有兩個特殊的對象:正則(RegExp)和日期(Date)。
查看變數類型:typeof x
null和undefined在判斷語句中會自動轉為false
undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義,比如:變數被聲明瞭,但沒有賦值時,就等於undefined。
函數定義
函數聲明
function functionName(parameters) { 執行的代碼 }
函數表達式和匿名函數
//匿名函數 var x = function (a, b) {return a * b};
箭頭函數 =>
(參數1, 參數2, …, 參數N) => { 函數聲明 } (參數1, 參數2, …, 參數N) => 表達式(單一) // 相當於:(參數1, 參數2, …, 參數N) =>{ return 表達式; } //當只有一個參數時,圓括弧是可選的: (單一參數) => {函數聲明} 單一參數 => {函數聲明} //沒有參數的函數應該寫成一對圓括弧: () => {函數聲明} //如果函數部分只是一個語句,則可以省略 return 關鍵字和大括弧 {} const x = (x, y) => x * y;
參考資料:https://www.runoob.com/js/js-tutorial.html