亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JavaScript學(xué)習(xí)筆記(一)

pingan8787 / 2403人閱讀

摘要:雖然會(huì)輸出,但是這只是存在的一個(gè)悠久。在的最初版本中使用的是位系統(tǒng),為了性能考慮使用低位存儲(chǔ)變量的類(lèi)型信息,開(kāi)頭代表是對(duì)象,然而表示為全零,所以將它錯(cuò)誤的判斷為。

參考來(lái)源: JavaScript高級(jí)程序設(shè)計(jì):?book.douban.com/subject/105… 千古壹號(hào):?github.com/qianguyihao… 小冊(cè)前端面試之道:?juejin.im/book/5bdc71… zh.javascript.info/comparison

簡(jiǎn)介

JavaScript誕生于1995年, 由web發(fā)展初期的Netscape創(chuàng)建, 當(dāng)時(shí)它的出現(xiàn)主要是用于處理網(wǎng)頁(yè)中的前端驗(yàn)證. 如今JavaScript早已不再局限于簡(jiǎn)單的數(shù)據(jù)驗(yàn)證, 而是具備了與瀏覽器窗口及其內(nèi)容交互的能力.

一個(gè)完整的JavaScript實(shí)現(xiàn)應(yīng)該由三個(gè)部分組成:

    核心(ECMAScript)

    文檔對(duì)象模型(DOM)

    瀏覽器對(duì)象模型(BOM)

JavaScript是由公司開(kāi)發(fā)而成的, 問(wèn)題是不便于其他的公司拓展和使用. 所以歐洲的這個(gè)ECMA的組織, 牽頭制定JavaScript的標(biāo)準(zhǔn), 取名為ECMAScript.
ECMAScript: 是一種由European Computer Manufacturers Association制定和發(fā)布的腳本語(yǔ)言規(guī)范.
ECMAScript就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語(yǔ)言的描述, JavaScript實(shí)現(xiàn)了ECMAScript, ActionScript同樣也實(shí)現(xiàn)了ECMAScript. 而不同的瀏覽器廠商對(duì)該標(biāo)準(zhǔn)會(huì)有不同的實(shí)現(xiàn).


文檔對(duì)象模型(DOM)
DOM是針對(duì)XML, 但是經(jīng)過(guò)擴(kuò)展用于HTML的API.
DOM把整個(gè)頁(yè)面映射成為一個(gè)多層節(jié)點(diǎn)結(jié)構(gòu).?
DOM級(jí)別

DOM1級(jí)的主要目標(biāo)是映射文檔的結(jié)構(gòu)

DOM2級(jí)在原有基礎(chǔ)上擴(kuò)充了鼠標(biāo)和用戶界面事件等細(xì)分模塊

DOM3級(jí)引入了以統(tǒng)一方式加載和保存文檔的方法, 新增了驗(yàn)證文檔的方法

瀏覽器對(duì)象模型(BOM)
開(kāi)發(fā)人員使用BOM可以控制瀏覽器顯示的頁(yè)面以外的部分, 比如讓瀏覽器自動(dòng)滾動(dòng)

延遲執(zhí)行js

使用元素可以指定在禁用腳本的瀏覽器中顯示的替代內(nèi)容

defer屬性規(guī)定是否對(duì)腳本執(zhí)行進(jìn)行延遲,直到頁(yè)面加載為止,?瀏覽器會(huì)先加載沒(méi)有defer的js.

async屬性規(guī)定一旦腳本可用,則會(huì)異步執(zhí)行


保留字

其他不建議使用的標(biāo)識(shí)符

代碼規(guī)范

Alloyteam代碼規(guī)范:?github.com/AlloyTeam/C…

Airbnb代碼規(guī)范中文版:?github.com/BingKui/jav…

elsewhen代碼規(guī)范:?github.com/elsewhencod…

HTML和css代碼規(guī)范:?codeguide.bootcss.com/

嚴(yán)格模式

參考來(lái)源:?developer.mozilla.org/zh-CN/docs/…

可以在整個(gè)腳本或函數(shù)中開(kāi)啟嚴(yán)格模式, 建議一個(gè)函數(shù)一個(gè)函數(shù)地開(kāi)啟嚴(yán)格模式
在函數(shù)作用域中使用嚴(yán)格模式: 函數(shù)開(kāi)頭寫(xiě)上"use strict"

為什么要使用嚴(yán)格模式:

    減少js代碼運(yùn)行的一些不安全不合理之處, 減少一些怪異行為

    提高編譯器效率, 加快運(yùn)行速度

    為未來(lái)新版本的js做好鋪墊

數(shù)據(jù)類(lèi)型 基本(值)類(lèi)型

數(shù)字number

JavaScript不區(qū)分整數(shù)值和浮點(diǎn)數(shù)值, JavaScript中的所有數(shù)值均用浮點(diǎn)數(shù)值表示.

JavaScript能識(shí)別十六進(jìn)制值. 某些JavaScript的實(shí)現(xiàn)支持八進(jìn)制直接量, 有些不支持.

JavaScript中的算術(shù)運(yùn)算在溢出, 下溢或被零整除時(shí)不會(huì)報(bào)錯(cuò)Infinity**(-Infinity)表示. 下溢是當(dāng)運(yùn)算結(jié)果無(wú)限接近于0, 這種情況下JavaScript會(huì)返回0. 非零數(shù)被零整除會(huì)返回?zé)o窮大或負(fù)無(wú)窮大, 零除以零會(huì)返回一個(gè)非數(shù)字值(not a number)NaN.

NaN和任何值都不相等, 包括它自己. x!=x當(dāng)且僅當(dāng)x為NaN時(shí), 結(jié)果才為true

ECMAScript能夠表示的最小數(shù)值Number.MIN_VALUENumber.MAX_VALUE**isFinite()**函數(shù)可以判斷參數(shù)是否位于最小值和最大值之間

在js中, 浮點(diǎn)數(shù)的運(yùn)算可能會(huì)得到一個(gè)不精確的結(jié)果(二進(jìn)制無(wú)法精確表示十分之一)

var a = 0.1 + 0.2;
console.log(a); // 0.30000000000000004

字符串string
使用加號(hào)運(yùn)算符進(jìn)行字符串連接
使用s.length得到字符串的長(zhǎng)度
字符串中所有的方法實(shí)際上返回的是一個(gè)新的字符串值

var s = "hello, world";

s[s.length-1]
s.charAt(s.length-1) // 最后一個(gè)字符
s.charCodeAt(s.length - 1) // 返回100
String.fromCharCode(65, 66, 67); // 返回"ABC"

s.substring(1, 4) // 截取從位置1到位置3的字符串, 會(huì)把負(fù)數(shù)參數(shù)轉(zhuǎn)換為0
s.slice(1, s.length)
s.slice(0, -1) // 如果參數(shù)是負(fù)數(shù), 比如參數(shù)是-3, 則看做s.length-3
s.substr(1, 4) // 第二個(gè)參數(shù)代表的是截取的長(zhǎng)度

s.split(", w") // 根據(jù)指定切割字符串

s.replace("l", "a") // 替換
s.replace(/l/g, "a")

s.indexOf("e") // 字符e首次出現(xiàn)的位置, 返回-1表示找不到
s.lastIndexOf("l") // 字符l最后一次出現(xiàn)的位置
s.indexOf("l", 3) // 從位置3開(kāi)始查找字符l首次出現(xiàn)的位置

s.toUpperCase()
s.toLowerCase()

s.concat("cxq"); //連接字符串

s.trim() // 去掉字符串前后的空白

boolean
undefined, null, 0, -0, NaN, ""都可以被轉(zhuǎn)換成false

undefined

undefined是預(yù)定義的全局變量, 表示未定義.

對(duì)未初始化和未聲明的變量執(zhí)行typeof都會(huì)返回undefined

undefined和NaN都是全局對(duì)象的屬性

var message; // 此時(shí)message保存的是undefined

console.log(windows.undefined);

null
null常用來(lái)表示空值.

進(jìn)行初始賦值時(shí), 可將變量賦值為null

作為垃圾回收時(shí), 可將變量賦值為null

對(duì)于 null 來(lái)說(shuō),很多人會(huì)認(rèn)為他是個(gè)對(duì)象類(lèi)型,其實(shí)這是錯(cuò)誤的。雖然 typeof null 會(huì)輸出 object,但是這只是 JS 存在的一個(gè)悠久 Bug。在 JS 的最初版本中使用的是 32 位系統(tǒng),為了性能考慮使用低位存儲(chǔ)變量的類(lèi)型信息,000 開(kāi)頭代表是對(duì)象,然而 null 表示為全零,所以將它錯(cuò)誤的判斷為 object 。雖然現(xiàn)在的內(nèi)部類(lèi)型判斷代碼已經(jīng)改變了,但是對(duì)于這個(gè) Bug 卻是一直流傳下來(lái)

對(duì)象(引用)類(lèi)型

基本類(lèi)型的值直接保存在棧內(nèi)存中, 對(duì)象類(lèi)型是保存到堆內(nèi)存中.

內(nèi)置對(duì)象
Arguments函數(shù)參數(shù)集合, Object基礎(chǔ)對(duì)象,?Function函數(shù)構(gòu)造器,?Error異常
Date日期, Math數(shù)學(xué), RegExp正則?
Array數(shù)組, Boolean布爾, Number數(shù)字, String字符串

宿主對(duì)象
由js的運(yùn)行環(huán)境提供的對(duì)象
window, global, document

自定義對(duì)象
開(kāi)發(fā)人員自己創(chuàng)建的對(duì)象

// 給對(duì)象添加屬性
var p = {};
p.name = "brenner";
p["content-type"] = null;

"name" in p // 返回true說(shuō)明屬性名存在
delete p.name; // 刪除對(duì)象的屬性

當(dāng)函數(shù)參數(shù)是對(duì)象類(lèi)型時(shí)

function test(person){
	person.age = 26;
  person = {
  	name: "yyy",
    age: 30
  };
  return person;
}

const p1 = {
	name: "ccc",
  age: 25
};

const p2 = test(p1);
console.log(p1, p2);

判斷類(lèi)型

typeof

參考來(lái)源:?jartto.wang/2019/01/17/…

typeof就是判斷參數(shù)是什么類(lèi)型的實(shí)例, 返回?cái)?shù)據(jù)類(lèi)型的字符串表達(dá)

// 對(duì)未初始化和未聲明的變量執(zhí)行typeof都會(huì)返回undefined
typeof name;

var a;
typeof(typeof a); // string

typeof 123; // number
typeof "hello"; // string
typeof !!" 0"; // boolean
typeof new Function(); // function

對(duì)于基本類(lèi)型, 除null以外, 均可返回意料之中的結(jié)果

對(duì)于引用類(lèi)型, 除function以外, 一律返回object

對(duì)于null, 返回object

對(duì)于function, 返回function

instanceof
A instanceof B用來(lái)檢測(cè)A是否是B的實(shí)例, 是返回true, 否返回false.
不可用于檢測(cè)非引用數(shù)據(jù)類(lèi)型
如果B的顯式原型對(duì)象在A的原型鏈上, 那么A是B的實(shí)例, 返回true

s = "hlslal";
s.split("l") instanceof Array // 返回true

[] instanceof Array; // true
{} instanceof Object; // true
new Date() instanceof Date; // true
類(lèi)型轉(zhuǎn)換

隱式類(lèi)型轉(zhuǎn)換

10 + "1" // 數(shù)字轉(zhuǎn)換成字符串
"2" * "4" // 字符串轉(zhuǎn)換成數(shù)字
1 - "x" // NaN, "x"無(wú)法轉(zhuǎn)換為數(shù)字
1+ +"2"+"3" // 返回33

NaN + "object" // NaN轉(zhuǎn)換為字符串"NaN"
!!x // 等價(jià)于Boolean(x)

"0" == 0 // 在比較之前字符串轉(zhuǎn)換為數(shù)字

顯式類(lèi)型轉(zhuǎn)換

Number("123blue"); // 返回NaN
Number(true); // 1
Number(null); // 0
Number(undefined); // NaN
Number(""); // 0

// 對(duì)非string使用parseInt()或parseFloat(), 會(huì)先轉(zhuǎn)成string再操作
parseInt("123blue") // 返回123
parseInt("010", 8)
parseInt(true); // 返回NaN
parseFloat("3.14e-7")

var a = false;
String(a);
a.toString();
var a2 = 123;
a2.toString(2); // 轉(zhuǎn)成二進(jìn)制形式的字符串

Boolean([]) // 返回true
Object(3) // new Number(3)

值的比較

字符串間的比較算法

    首先比較兩個(gè)字符串的首位字符大小

    如果一方字符較大, 則該字符串大于另一個(gè)字符串, 算法結(jié)束.

    否則, 兩個(gè)字符串中的字符相等, 繼續(xù)取出各自的后一位字符進(jìn)行比較

    重復(fù)上述步驟進(jìn)行比較,直到某字符串率先用完所有字符。

    如果兩個(gè)字符串同時(shí)用完字符,那么它們被判定為相等,否則未結(jié)束(還有未比較的字符)的字符串更大

當(dāng)不同類(lèi)型的值進(jìn)行比較時(shí), 它們會(huì)首先被轉(zhuǎn)為數(shù)字再判定大小.

alert("01" == 1) // 返回true

undefined === undefined // true
null === null // true
NaN == NaN // 返回false

null == undefined // 返回true
null === undefined // 返回false

使用嚴(yán)格相等操作符===在進(jìn)行比較時(shí)不會(huì)做任何的類(lèi)型轉(zhuǎn)換.

引用類(lèi)型 Date

使用來(lái)自UTC1970年1月1日零時(shí)開(kāi)始經(jīng)過(guò)的毫秒數(shù)來(lái)保存日期.

var someDate = new Date("1 25, 2019");
// 等價(jià)于
var someDate = new Date(Date.parse("1 25, 2019")); // Date.UTC()的參數(shù)是基于0的月份

var start = Date.now(); // 返回表示調(diào)用這個(gè)方法時(shí)的時(shí)間的毫秒數(shù)

基本包裝類(lèi)型

ECMAScript提供了3個(gè)基本包裝類(lèi)型(特殊的引用類(lèi)型): Boolean, Number, String
引用類(lèi)型與基本包裝類(lèi)型的主要區(qū)別就是對(duì)象的生存期. 使用new關(guān)鍵字創(chuàng)建的實(shí)例, 在執(zhí)行流離開(kāi)當(dāng)前作用域之前都一直保存在內(nèi)存中. 而自動(dòng)創(chuàng)建的基本包裝類(lèi)型的對(duì)象, 則只存在于一行代碼的執(zhí)行瞬間, 然后立即被銷(xiāo)毀.

var s = "abcd";
s.color = "red";
alert(s.color); // undefined

var value = "110";
var num = Number(value);
alert(typeof num); // number

var value = new Number("110");
alert(typeof value); // object
Global對(duì)象

不屬于任何其他對(duì)象的屬性和方法, 最終都是Global的屬性和方法, 諸如isNaN(), isFinite(), parseInt()

eval()方法
當(dāng)解析器發(fā)現(xiàn)代碼中調(diào)用eval()方法時(shí), 它會(huì)將傳入的參數(shù)當(dāng)做實(shí)際的ECMAScript語(yǔ)句來(lái)解析

window對(duì)象
web瀏覽器中, 在全局作用域中聲明的所有變量和函數(shù), 都成了window對(duì)象的屬性

Math對(duì)象

方法 說(shuō)明
Math.min()和Math.max()
Math.ceil() 執(zhí)行向上舍入
Math.floor() 執(zhí)行向下舍入
Math.round() 執(zhí)行四舍五入
Math.random() 返回介于0和1之間一個(gè)隨機(jī)數(shù)

執(zhí)行上下文 作用域

作用域就是變量和函數(shù)可作用的范圍. es5只有全局作用域和函數(shù)作用域,?es6新增塊級(jí)作用域

全局作用域

    全局作用域在頁(yè)面打開(kāi)時(shí)創(chuàng)建, 在頁(yè)面關(guān)閉時(shí)銷(xiāo)毀

    在全局作用域中有一個(gè)全局對(duì)象window.

    所有window對(duì)象的屬性和方法.

    全局變量是不會(huì)被回收的

    程序最外層定義的函數(shù)或變量

    所有未定義直接賦值的變量

函數(shù)作用域

調(diào)用函數(shù)時(shí)創(chuàng)建函數(shù)作用域, 函數(shù)執(zhí)行完后銷(xiāo)毀函數(shù)作用域

在函數(shù)作用域中也有變量聲明提升的特性

塊級(jí)作用域{}

作用域鏈

如果變量名和函數(shù)名相同時(shí), 函數(shù)名優(yōu)先聲明

var a = 10;
function a() {}
console.log(a);

函數(shù)的生命周期: 分為創(chuàng)建和執(zhí)行兩個(gè)時(shí)期

var x = 10;
function fn1(){
  console.log(x);
}
function fn2(){
  var x = 20;
  fn1();
}
fn2(); // 10

var x = 10;
function A(){
  var a = 20;
	function B(){
    var b = 30;
  	console.log(a);
  }
}

執(zhí)行環(huán)境定義了變量或函數(shù)有權(quán)訪問(wèn)的其他數(shù)據(jù), 每個(gè)執(zhí)行環(huán)境都有一個(gè)與之關(guān)聯(lián)的對(duì)象, 環(huán)境中定義的所有變量和函數(shù)都保存在這個(gè)對(duì)象中(我們無(wú)法訪問(wèn)這個(gè)對(duì)象, 但解析器在處理數(shù)據(jù)時(shí)會(huì)自動(dòng)用到它).

某個(gè)執(zhí)行環(huán)境中的所有代碼執(zhí)行完畢后, 該環(huán)境也隨之被銷(xiāo)毀, 保存在其中的所有變量和函數(shù)定義也隨之被銷(xiāo)毀.

每個(gè)函數(shù)都有自己的執(zhí)行環(huán)境. 當(dāng)執(zhí)行流進(jìn)入一個(gè)函數(shù)時(shí), 函數(shù)的環(huán)境就會(huì)被推入一個(gè)環(huán)境棧中. 而在函數(shù)執(zhí)行后, 棧將其環(huán)境彈出, 把控制權(quán)返回給之前的執(zhí)行環(huán)境.

全局執(zhí)行上下文

    web瀏覽器中, 在執(zhí)行全局代碼之前將window確定為全局上下文

    var定義的全局變量賦值為undefined, 添加為window的屬性(變量聲明提升)

    function聲明的全局函數(shù)添加為window的方法, this賦值為window(函數(shù)聲明提升)

    最后開(kāi)始執(zhí)行全局代碼

函數(shù)執(zhí)行上下文

    形參變量賦值為實(shí)參, 添加到執(zhí)行上下文的屬性

    arguments賦值為實(shí)參列表, 添加到執(zhí)行上下文的屬性

    var定義的局部變量賦值為undefined, 添加到執(zhí)行上下文的屬性

    function聲明的函數(shù)添加到執(zhí)行上下文的方法

    this賦值為調(diào)用函數(shù)的對(duì)象

    最后開(kāi)始執(zhí)行函數(shù)體中的代碼

var a = 3;
function fn(){
	console.log(a);
  console.log(window.a);
  var a = 4;
}
fn(); // 輸出undefined
垃圾收集 標(biāo)記清除

當(dāng)變量進(jìn)入環(huán)境(例如, 在函數(shù)中聲明一個(gè)變量), 就將這個(gè)變量標(biāo)記為進(jìn)入環(huán)境. 當(dāng)變量離開(kāi)環(huán)境時(shí), 則將其標(biāo)記為離開(kāi)環(huán)境.

引用計(jì)數(shù)

引用計(jì)數(shù)的含義是跟蹤記錄每個(gè)值被引用的次數(shù).
可能出現(xiàn)循環(huán)引用, 比如兩個(gè)對(duì)象互相引用.

異常處理 try-catch-finally語(yǔ)句

如果try塊中的任何代碼發(fā)生了錯(cuò)誤, 就會(huì)立即退出代碼執(zhí)行過(guò)程, 然后接著執(zhí)行catch塊. catch塊會(huì)接收到一個(gè)包含錯(cuò)誤信息的對(duì)象

function fn() {
	try {
    return 1
  }catch(error) {
    return error.message;
  }finally {
  	return 2;
  }
}
錯(cuò)誤類(lèi)型

Error: 其他錯(cuò)誤類(lèi)型都繼承自該類(lèi)型
EvalError: 會(huì)在使用eval()函數(shù)而發(fā)生異常時(shí)被拋出
RangeError: 會(huì)在數(shù)值超出相應(yīng)范圍時(shí)觸發(fā), 比如let arr = new Array(Number.MAX_VALUE);
ReferenceError: 訪問(wèn)找不到的對(duì)象, 不存在的變量時(shí)就會(huì)發(fā)生這種錯(cuò)誤
TypeError: 在變量中保存著意外的類(lèi)型或者訪問(wèn)不存在的方法

拋出錯(cuò)誤

throw用于隨時(shí)拋出自定義錯(cuò)誤

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/7263.html

相關(guān)文章

  • JavaScript框架學(xué)習(xí)筆記

    摘要:基本的學(xué)習(xí)思路是跟著框架設(shè)計(jì)這本書(shū),甚至可以說(shuō)是這本書(shū)的讀書(shū)筆記。也參考很多網(wǎng)上解讀的博客和學(xué)習(xí)資料。當(dāng)然,最重要的資料還是框架的源代碼。后來(lái)由于開(kāi)發(fā)者反對(duì),新興的框架都在命名空間上構(gòu)建。 JavaScript框架學(xué)習(xí)筆記(一) 我為什么要學(xué)習(xí)框架 更深入的理解工具,以后用起來(lái)更順手而且也能做一定的工具取舍,學(xué)習(xí)理解新工具也就更快, 對(duì)提升js水平也很有幫助,框架有很多解決坑的經(jīng)典思...

    Shonim 評(píng)論0 收藏0
  • JavaScript高級(jí)程序設(shè)計(jì)學(xué)習(xí)筆記JavaScript簡(jiǎn)介)

    摘要:在上百種語(yǔ)言中算是命好的一個(gè),還有就是最近納入高考體系的。由以下三個(gè)部分構(gòu)成。就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語(yǔ)言的描述。是針對(duì)但經(jīng)過(guò)擴(kuò)展的用于的應(yīng)用程序編程接口。將頁(yè)面映射為由節(jié)點(diǎn)構(gòu)成的樹(shù)狀結(jié)構(gòu)。 JavaScript的歷史這里就不再贅述了,當(dāng)然JavaScript的歷史還是比較有意思的。在上百種語(yǔ)言中JavaScript算是‘命’好的一個(gè),還有就是最近納入高考體系的python...

    supernavy 評(píng)論0 收藏0
  • 重學(xué)前端學(xué)習(xí)筆記(七)--JavaScript對(duì)象:面向?qū)ο筮€是基于對(duì)象?

    摘要:對(duì)象有狀態(tài)對(duì)象具有狀態(tài),同一對(duì)象可能處于不同狀態(tài)之下。中對(duì)象獨(dú)有的特色對(duì)象具有高度的動(dòng)態(tài)性,這是因?yàn)橘x予了使用者在運(yùn)行時(shí)為對(duì)象添改狀態(tài)和行為的能力。小結(jié)由于的對(duì)象設(shè)計(jì)跟目前主流基于類(lèi)的面向?qū)ο蟛町惙浅4?,?dǎo)致有不是面向?qū)ο筮@樣的說(shuō)法。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些...

    mayaohua 評(píng)論0 收藏0
  • 重學(xué)前端學(xué)習(xí)筆記(七)--JavaScript對(duì)象:面向?qū)ο筮€是基于對(duì)象?

    摘要:對(duì)象有狀態(tài)對(duì)象具有狀態(tài),同一對(duì)象可能處于不同狀態(tài)之下。中對(duì)象獨(dú)有的特色對(duì)象具有高度的動(dòng)態(tài)性,這是因?yàn)橘x予了使用者在運(yùn)行時(shí)為對(duì)象添改狀態(tài)和行為的能力。小結(jié)由于的對(duì)象設(shè)計(jì)跟目前主流基于類(lèi)的面向?qū)ο蟛町惙浅4螅瑢?dǎo)致有不是面向?qū)ο筮@樣的說(shuō)法。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些...

    yy736044583 評(píng)論0 收藏0
  • 重學(xué)前端學(xué)習(xí)筆記(七)--JavaScript對(duì)象:面向?qū)ο筮€是基于對(duì)象?

    摘要:對(duì)象有狀態(tài)對(duì)象具有狀態(tài),同一對(duì)象可能處于不同狀態(tài)之下。中對(duì)象獨(dú)有的特色對(duì)象具有高度的動(dòng)態(tài)性,這是因?yàn)橘x予了使用者在運(yùn)行時(shí)為對(duì)象添改狀態(tài)和行為的能力。小結(jié)由于的對(duì)象設(shè)計(jì)跟目前主流基于類(lèi)的面向?qū)ο蟛町惙浅4?,?dǎo)致有不是面向?qū)ο筮@樣的說(shuō)法。 筆記說(shuō)明 重學(xué)前端是程劭非(winter)【前手機(jī)淘寶前端負(fù)責(zé)人】在極客時(shí)間開(kāi)的一個(gè)專(zhuān)欄,每天10分鐘,重構(gòu)你的前端知識(shí)體系,筆者主要整理學(xué)習(xí)過(guò)程的一些...

    xingpingz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<