摘要:局部變量在函數中聲明的變量,會成為函數的局部變量。局部變量的作用域是局部的只能在函數內部訪問它們。多帶帶的情況下,指的是全局對象。在事件中,指的是接收事件的元素。布爾值提供一種布爾數據類型。所有不具有真實值的即為布爾值為零負零空值。
閉包
閉包的優點:
1.可以讀取函數內部的變量
2.這些變量的值始終保持在內存中
適用場景
作用域指的是有權訪問的變量集合。
在 JavaScript 中有兩種作用域類型:
局部作用域
全局作用域
JavaScript 擁有函數作用域:每個函數創建一個新的作用域。
作用域決定了這些變量的可訪問性(可見性)。
函數內部定義的變量從函數外部是不可訪問的(不可見的)。
在 JavaScript 函數中聲明的變量,會成為函數的局部變量。
局部變量的作用域是局部的:只能在函數內部訪問它們。
實例
// 此處的代碼不能使用 carName 變量 function myFunction() { var carName = "porsche"; // 此處的代碼能使用 carName 變量 }全局 JavaScript 變量
函數之外聲明的變量,會成為全局變量。
全局變量的作用域是全局的:網頁的所有腳本和函數都能夠訪問它。
實例
var carName = " porsche"; // 此處的代碼能夠使用 carName 變量 function myFunction() { // 此處的代碼也能夠使用 carName 變量 }javascript變量提升
變量提升:在 JavaScript 中,可以在使用變量之后對其進行聲明。通過 var 聲明的變量會提升到頂端.
用 let 或 const 聲明的變量和常量不會被提升!
在不同的作用域或塊中,通過 let 重新聲明變量是允許的
通過 const定義的變量與 let 變量類似,但不能重新賦值。
const 變量必須在聲明時賦值。但是可以更改常量對象的屬性,也可以更改常量數組的元素,
const PI = 3.14159265359;
如何修改對象的屬性:defineProperty.
JSON.parse(JSON.stringify(aaa).replace(/CourseName/g,"title"))
var emptyObj1 = {}; var emptyObj2 = new Object(); var emptyObj2 = Object.create(Object.prototype);this指針
JavaScript this 關鍵詞指的是它所屬的對象。
它擁有不同的值,具體取決于它的使用位置:
在方法中,this 指的是所有者對象。
多帶帶的情況下,this 指的是全局對象。
在函數中,this 指的是全局對象。
在函數中,嚴格模式下,this 是 undefined。
在事件中,this 指的是接收事件的元素。
像 call() 和 apply() 這樣的方法可以將 this 引用到任何對象。
apply()和call()差不多,只不過apply()第二個參數必須傳入的是一個數組,而call() 第二個參數可以是任意類型。改變了 this 指向,讓新的對象可以執?該函數,并能接受參
數
filter()的作?也是?成?個新數組,在遍歷數組的時候將返回值為
true 的元素放?新數組,可以利用這個函數刪除一些不需要的元素。
cookie:數據存儲在瀏覽器端;cookie有大小限制,以及瀏覽器在存cookie也有個數限制;cookie存儲不太安全,別人可以通過攔截或本地文件得到你的cookie然后進行攻擊。
session:數據存儲在服務器端;session沒有大小限制;session存儲較為安全,占用服務器的內存。
token生成過程,如何生成tokentoken的作用是①防止表單重復提交,當點擊一次提交按鈕后,再點擊就沒用了②用來作身份驗證
字符串indexOf() 方法返回字符串中指定文本首次出現的索引(位置)
slice() 提取字符串的某個部分并在新字符串中返回被提取的部分。
該方法設置兩個參數:起始索引(開始位置),終止索引(結束位置)。
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
replace() 方法用另一個值替換在字符串中指定的值
concat() 連接兩個或多個字符串
trim() 方法刪除字符串兩端的空白符
split() 方法將字符串轉換為數組
indexOf() 方法在數組中搜索元素值并返回其位置
var colors=["yellow","red","blue","black"]; var a=colors.indexOf("yellow");
lastIndexOf() 與 Array.indexOf() 類似,但是從數組結尾開始搜索。
布爾值JavaScript 提供一種布爾數據類型。它只接受值true或false。
所有不具有“真實”值的即為 False
布爾值為false:0(零)、-0 (負零)、""(空值)、undefined 、null 、NaN 。
constructor屬性返回所有 JavaScript 變量的構造器函數。
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:"Bill", age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // 返回 "function Date() { [native code] }" function () {}.constructor // 返回 "function Function(){ [native code] }"
可以通過檢查 constructor 屬性來確定某個對象是否為數組(包含單詞 "Array"):
例如:
function isArray(myArr){
return myArr.constructor.toString().indexOf("Array")
}
正則表達式是構成搜索模式(search pattern)的字符序列。當您搜索文本中的數據時,您可使用搜索模式來描述您搜索的內容。
語法
/pattern(模式)/modifiers(修飾符);
https://www.jianshu.com/p/2d3...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109779.html
摘要:在此,我們首先根據變量的作用域,將變量劃分為三級,具體是全局變量局部變量和參數變量。 【摘要】本文是專為JavaScript入門者而總結的,總體上將JavaScript的基礎部分分成了九大塊,分別是變量、運算符、數組、流程控制結構、字符串函數、函數基礎、DOM操作基礎、文檔對象模型DOM和正則表達式。 【關鍵字】變量、運算符、數組、流程控制結構、函數、DOM、正則表達式。 本篇文章的主...
閱讀 623·2023-04-26 02:08
閱讀 2654·2021-11-18 10:02
閱讀 3460·2021-11-11 16:55
閱讀 2341·2021-08-17 10:13
閱讀 2901·2019-08-30 15:53
閱讀 685·2019-08-30 15:44
閱讀 2545·2019-08-30 11:10
閱讀 1755·2019-08-29 16:57