摘要:前端培訓(xùn)初級階段語法變量值類型運(yùn)算符語句上節(jié)的基礎(chǔ)內(nèi)容知識,這節(jié)我們會用到。這意味著開發(fā)者不必明確實(shí)例化內(nèi)置對象,它已被實(shí)例化了。不進(jìn)行有效性檢查。對象是自年月日起經(jīng)過的毫秒數(shù)。
前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。
該文為前端培訓(xùn)-初級階段(13、18)的補(bǔ)充內(nèi)容 (介紹了 ECMAScript 歷史,ES6 常用點(diǎn))。
本文介紹ECMAScript基礎(chǔ)知識。
前端培訓(xùn)-初級階段(13) - ECMAScript (語法、變量、值、類型、運(yùn)算符、語句)
上節(jié)的基礎(chǔ)內(nèi)容知識,這節(jié)我們會用到。默認(rèn)已讀。
ECMAScript 基礎(chǔ)對象(Object、Boolean、Number、String)
常用內(nèi)置對象(Date、Array、Math、RegExp、global、Function、Event、arguments、JSON)
ECMAScript 函數(shù)(聲明、調(diào)用、返回值、閉包、遞歸)
ECMAScript 基礎(chǔ)對象在 ECMAScript 中,所有對象并非同等創(chuàng)建的。
一般來說,可以創(chuàng)建并使用的對象有三種:本地對象、內(nèi)置對象和宿主對象。
ECMA-262 把本地對象(native object)定義為“獨(dú)立于宿主環(huán)境的 ECMAScript 實(shí)現(xiàn)提供的對象”。簡單來說,本地對象就是 ECMA-262 定義的類(引用類型)。它們包括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
ECMA-262 把內(nèi)置對象(built-in object)定義為“由 ECMAScript 實(shí)現(xiàn)提供的、獨(dú)立于宿主環(huán)境的所有對象,在 ECMAScript 程序開始執(zhí)行時(shí)出現(xiàn)”。這意味著開發(fā)者不必明確實(shí)例化內(nèi)置對象,它已被實(shí)例化了。ECMA-262 只定義了兩個(gè)內(nèi)置對象,即 Global 和 Math (它們也是本地對象,根據(jù)定義,每個(gè)內(nèi)置對象都是本地對象)。
所有非本地對象都是宿主對象(host object),即由 ECMAScript 實(shí)現(xiàn)的宿主環(huán)境提供的對象。所有 BOM 和 DOM 對象都是宿主對象。Object 對象
Object 是所有對象的基礎(chǔ)。JavaScript 中的所有對象都來自 Object ;所有對象從 Object.prototype 繼承方法和屬性,盡管它們可能被覆蓋。例如,其他構(gòu)造函數(shù)的原型將覆蓋 constructor 屬性并提供自己的 toString() 方法。Object 原型對象的更改將傳播到所有對象,除非受到這些更改的屬性和方法將沿原型鏈進(jìn)一步覆蓋。
類型 | key | 用法 | 作用 |
---|---|---|---|
屬性 | length | Object.length | Object.length 值為1 |
屬性 | prototype | Object.prototype | 可以為所有 Object 類型的對象添加屬性 |
方法 | assign | Object.assign() | 通過復(fù)制一個(gè)或多個(gè)對象來創(chuàng)建一個(gè)新的對象 |
方法 | create | Object.create() | 使用指定的原型對象和屬性創(chuàng)建一個(gè)新對象 |
方法 | defineProperty | Object.defineProperty() | 給對象添加一個(gè)屬性并指定該屬性的配置 |
方法 | defineProperties | Object.defineProperties() | 給對象添加多個(gè)屬性并分別指定它們的配置 |
方法 | entries | Object.entries() | 返回給定對象自身可枚舉屬性的[key, value]數(shù)組 |
方法 | freeze | Object.freeze() | 凍結(jié)對象:其他代碼不能刪除或更改任何屬性 |
方法 | getOwnPropertyDescriptor | Object.getOwnPropertyDescriptor() | 返回對象指定的屬性配置 |
方法 | getOwnPropertyNames | Object.getOwnPropertyNames() | 返回一個(gè)數(shù)組,它包含了指定對象所有的可枚舉或不可枚舉的屬性名 |
方法 | getOwnPropertySymbols | Object.getOwnPropertySymbols() | 返回一個(gè)數(shù)組,它包含了指定對象自身所有的符號屬性 |
方法 | getPrototypeOf | Object.getPrototypeOf() | 返回指定對象的原型對象 |
方法 | is | Object.is() | 比較兩個(gè)值是否相同。所有 NaN 值都相等(這與==和===不同) |
方法 | isExtensible | Object.isExtensible() | 判斷對象是否可擴(kuò)展 |
方法 | isFrozen | Object.isFrozen() | 判斷對象是否已經(jīng)凍結(jié) |
方法 | isSealed | Object.isSealed() | 判斷對象是否已經(jīng)密封 |
方法 | keys | Object.keys() | 返回一個(gè)包含所有給定對象自身可枚舉屬性名稱的數(shù)組 |
方法 | preventExtensions | Object.preventExtensions() | 防止對象的任何擴(kuò)展 |
方法 | seal | Object.seal() | 防止其他代碼刪除對象的屬性 |
方法 | setPrototypeOf | Object.setPrototypeOf() | 設(shè)置對象的原型(即內(nèi)部[[Prototype]]屬性) |
方法 | values | Object.values() | 返回給定對象自身可枚舉值的數(shù)組 |
原型屬性 | ([]).constructor === Array | Object.prototype.constructor | 特定的函數(shù),用于創(chuàng)建一個(gè)對象的原型 |
原型屬性 | ([]).__proto__ === Array.prototype | Object.prototype.__proto__ | 指向當(dāng)對象被實(shí)例化的時(shí)候,用作原型的對象 |
原型方法 | Object.prototype.hasOwnProperty() | 返回一個(gè)布爾值 ,表示某個(gè)對象是否含有指定的屬性,而且此屬性非原型鏈繼承的 | |
原型方法 | Object.prototype.isPrototypeOf() | 返回一個(gè)布爾值,表示指定的對象是否在本對象的原型鏈中 | |
原型方法 | Object.prototype.propertyIsEnumerable() | 判斷指定屬性是否可枚舉 | |
原型方法 | Object.prototype.toLocaleString() | 直接調(diào)用 toString()方法 | |
原型方法 | Object.prototype.toString() | 返回對象的字符串表示 | |
原型方法 | Object.prototype.valueOf() | 返回指定對象的原始值 |
這個(gè)對象非常的簡單。只有從Object哪里基礎(chǔ)來的方法和屬性。當(dāng)做函數(shù)調(diào)用,就是把值轉(zhuǎn)換成布爾類型
如果第一個(gè)參數(shù)不是布爾值,則會將其轉(zhuǎn)換為布爾值。如果省略該參數(shù),或者其值為 0、-0、null、false、NaN、undefined、或者空字符串(""),則生成的 Boolean 對象的值為 false。如果傳入的參數(shù)是 DOM 對象 document.all,也會生成值為 false 的 Boolean 對象。任何其他的值,包括值為 "false" 的字符串和任何對象,都會創(chuàng)建一個(gè)值為 true 的 Boolean 對象。
注意不要將基本類型中的布爾值 true 和 false 與值為 true 和 false 的 Boolean 對象弄混了。
當(dāng) Boolean 對象用于條件語句的時(shí)候(譯注:意為直接應(yīng)用于條件語句),任何不是 undefined 和 null 的對象,包括值為 false 的 Boolean 對象,都會被當(dāng)做 true 來對待。例如,下面 if 語句中的條件為真:
var x = new Boolean(false); if (x) { console.log(typeof x, typeof true, typeof false) }Number 對象
類型 | key | 用法 | 作用 |
---|---|---|---|
屬性 | EPSILON | Number.EPSILON | 兩個(gè)可表示(representable)數(shù)之間的最小間隔 |
屬性 | MAX_SAFE_INTEGER | Number.MAX_SAFE_INTEGER | JavaScript 中最大的安全整數(shù) (253 - 1) |
屬性 | MAX_VALUE | Number.MAX_VALUE | 能表示的最大正數(shù)。最小的負(fù)數(shù)是 -MAX_VALUE |
屬性 | MIN_SAFE_INTEGER | Number.MIN_SAFE_INTEGER | JavaScript 中最小的安全整數(shù) (-(253 - 1)) |
屬性 | MIN_VALUE | Number.MIN_VALUE | 能表示的最小正數(shù)即最接近 0 的正數(shù) (實(shí)際上不會變成 0)。最大的負(fù)數(shù)是 -MIN_VALUE |
屬性 | NaN | Number.NaN | 特殊的“非數(shù)字”值 |
屬性 | NEGATIVE_INFINITY | Number.NEGATIVE_INFINITY | 特殊的負(fù)無窮大值,在溢出時(shí)返回該值 |
屬性 | POSITIVE_INFINITY | Number.POSITIVE_INFINITY | 特殊的正無窮大值,在溢出時(shí)返回改值 |
屬性 | prototype | Number.prototype | Number 對象上允許的額外屬性 |
方法 | isNaN | Number.isNaN() | 確定傳遞的值是否是 NaN |
方法 | isFinite | Number.isFinite() | 確定傳遞的值類型及本身是否是有限數(shù) |
方法 | isInteger | Number.isInteger() | 確定傳遞的值類型是“number”,且是整數(shù) |
方法 | isSafeInteger | Number.isSafeInteger() | 確定傳遞的值是否為安全整數(shù) ( -(253 - 1) 至 253 - 1之間) |
方法 | toInteger | Number.toInteger() | 計(jì)算傳遞的值并將其轉(zhuǎn)換為整數(shù) (或無窮大) |
方法 | parseFloat | Number.parseFloat() | 和全局對象 parseFloat() 一樣 |
方法 | parseInt | Number.parseInt() | 和全局對象 parseInt() 一樣 |
原型方法 | toExponential | Number.prototype.toExponential() | 返回以科學(xué)計(jì)數(shù)法表示的數(shù)字字符串 |
原型方法 | toFixed | Number.prototype.toFixed() | 返回固定小數(shù)位的數(shù)字字符串(四拾伍入) |
原型方法 | toLocaleString | Number.prototype.toLocaleString() | 返回以本地語言為主的數(shù)字字符串。會覆蓋 Object.prototype.toLocaleString()。 |
原型方法 | toPrecision | Number.prototype.toPrecision() | 返回固定位數(shù)表示的數(shù)字字符串(小數(shù)點(diǎn)不記位,四拾伍入、位數(shù)不夠會返回科學(xué)計(jì)數(shù)法) |
原型方法 | toString | Number.prototype.toString() | 返回以指定基數(shù)表示的數(shù)字字符串。會覆蓋 Object.prototype.toString() |
原型方法 | valueOf | Number.prototype.valueOf() | 返回以原始數(shù)值。會覆蓋 Object.prototype.valueOf() |
類型 | key | 用法 | 作用 |
---|---|---|---|
屬性 | length | "".length | 返回文字長度 |
方法 | String.fromCharCode() | String.fromCharCode(97) == "A" | 通過 一系列UTF-16代碼單元的數(shù)字。 范圍介于0到65535(0xFFFF)之間。 大于0xFFFF的數(shù)字將被截?cái)唷?不進(jìn)行有效性檢查。 創(chuàng)建字符串 |
方法 | String.fromCodePoint() | String.fromCodePoint(65,97) == "Aa" | 通過Unicode創(chuàng)建字符串 |
原型方法 | charAt() | "李li".charAt(1) == "l" | 返回特定位置的字符 |
原型方法 | charCodeAt() | "李li".charCodeAt(0) == 26446 | 返回表示給定索引的字符的Unicode的值 |
原型方法 | codePointAt() | "李li".codePointAt(0) == 26446 | 返回表示給定索引的字符的Unicode的值 |
原型方法 | concat() | "l".concat("i") == "li" | 連接兩個(gè)字符串文本,并返回一個(gè)新的字符串 |
原型方法 | includes() | "li".includes("i") | 判斷一個(gè)字符串里是否包含其他字符串 |
原型方法 | endsWith() | "li".endsWith("i") | 判斷一個(gè)字符串的結(jié)尾是否包含其他字符串中的字符 |
原型方法 | indexOf() | "li".indexOf("i") | 從字符串對象中返回首個(gè)被發(fā)現(xiàn)的給定值的索引值,如果沒有找到則返回-1 |
原型方法 | lastIndexOf() | "li".lastIndexOf("i") | 從字符串對象中返回最后一個(gè)被發(fā)現(xiàn)的給定值的索引值,如果沒有找到則返回-1 |
原型方法 | localeCompare() | 返回一個(gè)數(shù)字表示是否引用字符串在排序中位于比較字符串的前面,后面,或者二者相同 | |
原型方法 | match() | "onmousemove".match(/on(w+)/) | 使用正則表達(dá)式與字符串相比較 |
原型方法 | normalize() | 返回調(diào)用字符串值的Unicode標(biāo)準(zhǔn)化形式 | |
原型方法 | padEnd() | "1".padEnd(5, " ") | 在當(dāng)前字符串尾部填充指定的字符串, 直到達(dá)到指定的長度。 返回一個(gè)新的字符串 |
原型方法 | padStart() | "1".padStart(5, "0") | 在當(dāng)前字符串頭部填充指定的字符串, 直到達(dá)到指定的長度。 返回一個(gè)新的字符串 |
原型方法 | repeat() | "*".repeat(10) | 返回指定重復(fù)次數(shù)的由元素組成的字符串對象 |
原型方法 | replace() | "李?".replace("?","**") | 被用來在正則表達(dá)式和字符串直接比較,然后用新的子串來替換被匹配的子串 |
原型方法 | search() | "李?".search("?") | 對正則表達(dá)式和指定字符串進(jìn)行匹配搜索,返回第一個(gè)出現(xiàn)的匹配項(xiàng)的下標(biāo) |
原型方法 | slice() | "李**".slice(0,2) | 摘取一個(gè)字符串區(qū)域,返回一個(gè)新的字符串 |
原型方法 | split() | "a,b,123,f".split(",") | 通過分離字符串成字串,將字符串對象分割成字符串?dāng)?shù)組 |
原型方法 | startsWith() | 判斷字符串的起始位置是否匹配其他字符串中的字符 | |
原型方法 | substr() | 通過指定字符數(shù)返回在指定位置開始的字符串中的字符 | |
原型方法 | substring() | 返回在字符串中指定兩個(gè)下標(biāo)之間的字符 | |
原型方法 | toLocaleLowerCase() | 根據(jù)當(dāng)前區(qū)域設(shè)置,將符串中的字符轉(zhuǎn)換成小寫。對于大多數(shù)語言來說,toLowerCase的返回值是一致的 | |
原型方法 | toLocaleUpperCase() | 根據(jù)當(dāng)前區(qū)域設(shè)置,將字符串中的字符轉(zhuǎn)換成大寫,對于大多數(shù)語言來說,toUpperCase的返回值是一致的 | |
原型方法 | toLowerCase() | 將字符串轉(zhuǎn)換成小寫并返回 | |
原型方法 | toSource() | 返回一個(gè)對象文字代表著特定的對象。你可以使用這個(gè)返回值來創(chuàng)建新的對象。重寫 Object.prototype.toSource 方法 | |
原型方法 | toString() | 返回用字符串表示的特定對象。重寫 Object.prototype.toString 方法 | |
原型方法 | toUpperCase() | 將字符串轉(zhuǎn)換成大寫并返回 | |
原型方法 | trim() | " 1 ".trim() | 從字符串的開始和結(jié)尾去除空格。參照部分 ECMAScript 5 標(biāo)準(zhǔn) |
原型方法 | trimStart()trimLeft() | " 1 ".trimStart() | 從字符串的左側(cè)去除空格 |
原型方法 | trimEnd()trimRight() | " 1 ".trimEnd() | 從字符串的右側(cè)去除空格 |
原型方法 | valueOf() | 返回特定對象的原始值。重寫 Object.prototype.valueOf 方法 |
這個(gè)我就直接說常用的了。
DateDate 對象是自1970年1月1日(UTC)起經(jīng)過的毫秒數(shù)。
實(shí)例化方式
new Date();//當(dāng)前時(shí)間 new Date(Number);//傳入的毫秒數(shù)轉(zhuǎn)換成時(shí)間 new Date(dateString);//傳入的時(shí)間格式轉(zhuǎn)換為時(shí)間。這里有一些坑(低版本IE、ios、chrome)實(shí)現(xiàn)的規(guī)范不一樣,導(dǎo)致有的格式解析不出來,可以用[momentjs][3]。 new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
注意:只能將 Date 作為構(gòu)造函數(shù)調(diào)用,才能實(shí)例化(instantiate) Date 對象:若將它作為常規(guī)函數(shù)調(diào)用(即不加 new 操作符),則將會返回一個(gè)字符串,而非 Date 對象。另外,不像其他的 JavaScript 對象類型,Date 對象沒有字面量語法(literal syntax)。
方法
Date.now() 返回自 1970-1-1 00:00:00 UTC(世界標(biāo)準(zhǔn)時(shí)間)至今所經(jīng)過的毫秒數(shù)。
等效寫法+new Date(),new Date().getTime()
Date.parse() 解析一個(gè)表示日期的字符串,并返回從 1970-1-1 00:00:00 所經(jīng)過的毫秒數(shù)。
Date.UTC() 接受和構(gòu)造函數(shù)最長形式的參數(shù)相同的參數(shù)(從2到7),并返回從 1970-01-01 00:00:00 UTC 開始所經(jīng)過的毫秒數(shù)。
原型方法
getDay()周,getFullYear()年,getMonth()月,getDate()日,getHours()時(shí),getMinutes()分,getSeconds()秒
getTimezoneOffset() 返回當(dāng)前時(shí)區(qū)的時(shí)區(qū)偏移。
set方法同上,需要注意的地方有setHours()可以把時(shí)分秒毫秒都設(shè)置了
ArrayArray數(shù)組對象的forEach、map、filter、reduce
join 合并成串
concat 合并其他數(shù)組
slice 分割數(shù)組
Math
Math.random() 隨機(jī)數(shù)。來個(gè)公式(end-start+1)*num+start
比如 60-90區(qū)間內(nèi)(90-60+1)*Math.random()+60>>0即可得到區(qū)間內(nèi)整數(shù)
Math.ceil 向上取整Math.ceil(5.1)
Math.floor 向下取整Math.floor(1.9)
Math.round 四拾伍入Math.round(2.3)
Math.pow Math.pow(3,5)等同于3**5,但是前者兼容更好
RegExp原生的方法其實(shí)很少用。需要注意的地方是,有部分函數(shù)會記錄上次差到的點(diǎn)。一般都是用字符串的 replace 和 match
JSON低版本 IE 沒有。需要使用 eval。
提供了 JSON.stringify 和 JSON.parse()用來序列化與反序列化
//提供一個(gè)tips,你可以在控制臺試試喲。 JSON.stringify([{ userid: 7848950, nickname: "abc" },{ userid: 920110633, nickname: "abc" },{ userid: 7848952, nickname: "abc" }], null, " ")ECMAScript 函數(shù)(聲明、調(diào)用、返回值、閉包、遞歸) 函數(shù)聲明
函數(shù)聲明 function fun(){}
函數(shù)表達(dá)式 fun = function fun(){}
IFFE void function(){console.log(1)}()
構(gòu)造函數(shù) new Function("a","b","return a+b")(1,2)
函數(shù)調(diào)用function fun(){console.log(1)};fun() 通過括號來調(diào)用
返回值function fun(){return 1};console.log(fun()) 函數(shù)內(nèi)部通過return來返回
閉包什么是作用域
作用域(scope)指的是變量存在的范圍。 在 es5 中的,Javascript 只有兩種作用域:一種是全局作用域,變量在整個(gè)程序中一直存在,所有地方都可以讀?。涣硪环N是函數(shù)作用域,變量只在函數(shù)內(nèi)部存在。(es6中又新增了塊級作用域)全局作用域可以在代碼的任何地方都能被訪問。
什么是作用域鏈
是指作用域生成的路徑。當(dāng)代碼在一個(gè)執(zhí)行環(huán)境中執(zhí)行時(shí),就會創(chuàng)建一個(gè)作用域鏈。我們有可能兩個(gè) function 內(nèi)都使用了 state 這個(gè)變量,我們不希望他共享,他被限制在了自己的作用域中。
內(nèi)部環(huán)境可以通過作用域鏈訪問所有外部環(huán)境,但是外部環(huán)境不能訪問內(nèi)部環(huán)境中的任何變量和函數(shù)。
在 js 中與作用域鏈相似的有原型鏈
那么什么是閉包呢?
閉包就是依賴這個(gè)特性,思考如下代碼。可以讓我們的代碼和外部環(huán)境隔離。
var getNum = (function(){ var sum = 0;//閉包中的變量 return function(){ return ++sum//內(nèi)部可以訪問 } })() getNum();//1,這里可以獲取調(diào)用次數(shù) sum = 1000;//這里改變的其實(shí)是全局的,因?yàn)樗貌坏介]包內(nèi)的sum getNum();//2,這里可以獲取調(diào)用次數(shù)回調(diào)函數(shù)
有的教程里面叫高階函數(shù),思考如下代碼
[1,2,3].map(v=>v*2);//map就是一個(gè)高階函數(shù),通過把回調(diào)傳遞進(jìn)去。對原數(shù)組進(jìn)行操作。遞歸函數(shù)
這個(gè)主要是用來沒有預(yù)期的情況。比如遍歷一顆樹。你不知道要循環(huán)多少次?;蛘哒f當(dāng)前有個(gè)dom節(jié)點(diǎn),你需要找到他的一個(gè)父級.editor_main。
//求菲波那切數(shù)列 function factorial(num){ if(num <= 1){ return 1 }else { return num * factorial(num - 1); } }后記
主講人的講稿地址
這里也要吐槽一下自己,斷更這么久,實(shí)在是太忙了。
JavaScript 標(biāo)準(zhǔn)庫
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109363.html
摘要:提供了與瀏覽器窗口進(jìn)行交互的對象標(biāo)簽之間不會共享。用于描述當(dāng)前瀏覽器的歷史記錄。表示窗口是否以全屏顯示。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。 前面我們已經(jīng)基本掌握常規(guī)的語法語義,以及基...
摘要:提供了與瀏覽器窗口進(jìn)行交互的對象標(biāo)簽之間不會共享。用于描述當(dāng)前瀏覽器的歷史記錄。表示窗口是否以全屏顯示。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。 前面我們已經(jīng)基本掌握常規(guī)的語法語義,以及基...
摘要:前端培訓(xùn)初級階段語法變量值類型運(yùn)算符語句前端培訓(xùn)初級階段內(nèi)置對象函數(shù)前端培訓(xùn)初級階段類模塊繼承基礎(chǔ)內(nèi)容知識我們會用到。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平,打牢基礎(chǔ)知識的中心思想,我們開課啦(每周四)。 該文為前端培訓(xùn)-初級階段(1...
摘要:文檔對象模型是和文檔的編程接口文檔對象模型將頁面與到腳本或編程語言連接起來。通常是指,但將或文檔建模為對象并不是語言的一部分。文檔對象模型文檔對象模型圈起來的是比較常用的接口。目前接口繼承于接口。 前端最基礎(chǔ)的就是 HTML+CSS+Javascript。掌握了這三門技術(shù)就算入門,但也僅僅是入門,現(xiàn)在前端開發(fā)的定義已經(jīng)遠(yuǎn)遠(yuǎn)不止這些。前端小課堂(HTML/CSS/JS),本著提升技術(shù)水平...
閱讀 1680·2021-11-17 09:33
閱讀 3545·2021-11-16 11:40
閱讀 3064·2019-08-30 11:23
閱讀 1057·2019-08-29 16:36
閱讀 2474·2019-08-29 13:23
閱讀 1748·2019-08-29 12:59
閱讀 1552·2019-08-29 12:42
閱讀 1989·2019-08-28 18:22