真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JS初識

  • 567網(wǎng)頁的組成:

    網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了欒城免費建站歡迎大家使用!

    • html:超文本標記語言,網(wǎng)頁結(jié)構(gòu)層.

    • CSS:層疊樣式表,網(wǎng)頁的樣式.

    • Javascript:腳本語言,規(guī)定了網(wǎng)頁交互行為.

  • 什么是JS?

    • JS是基于對象和事件驅(qū)動的解釋型腳本語言.

    • JS特點:

      • 基于對象:JS中萬物皆對象.JS中的任何內(nèi)容都由一個對象來描述.任何操作都是由對象的方法(函數(shù))來進行描述.

      • 事件驅(qū)動:JS可以直接通過用戶的操作做出響應(yīng),而無需通過服務(wù)器響應(yīng).

      • 解釋型腳本語言

  • JS的作用

    • 頁面的交互

    • 前端和后端的交互.–三節(jié)點–四階段

  • JS的歷史:

    • 1995年,網(wǎng)景公司開發(fā)了第一款商用瀏覽器。

    • 需要在瀏覽器設(shè)計一個專門用來做表單驗證的語言。布蘭登.愛奇花了10天寫了第一個js版本。

    • 之所以JS命名為javascript主要的原因:網(wǎng)景和sun公司合作關(guān)系,有因為java非?;穑盍隧橈L車,其名為javascript。

    • 同年微軟開發(fā)了IE3.0,嵌入了克隆版的JS–JSript.后期由于IE是windows內(nèi)置瀏覽器,后來網(wǎng)景就慢慢沒落最后到倒閉。

    • 原來網(wǎng)景公司Mozilla團隊后來將瀏覽器內(nèi)核開源,開源之后他們成立了Mozilla組織,后期開發(fā)了火狐瀏覽器。

    • 后來因為瀏覽器之爭,ECMA組織(歐洲計算機協(xié)會)組織各個計算廠商制定了JS的語法標準:ECMAScript.

  • JS的組成:

    • ECMAScript:規(guī)定了JS語法標準和常用對象。

    • DOM:(document object model)文檔對象模型

    • BOM:(browser object model)瀏覽器對象模型

1.什么是js,js的特點是什么?

基于對象和事件驅(qū)動的解釋型腳本語言.
特點:
基于對象
事件驅(qū)動
解釋型腳本語言.

2.js的組成有哪些?

ECMAScript:規(guī)定了JS的語法規(guī)范.
DOM:document object model 文檔對象模型
BOM:browser object model 瀏覽器對象模型.

3.請說出js的三種引入方式,請分別舉例闡述?

行內(nèi)引入:通過標簽的事件屬性引入
內(nèi)部引入:在script標簽的內(nèi)部引入js代碼 外部引入: ?

4.談?wù)勀銓Τ绦蛘{(diào)試的理解,可以使用那些方法調(diào)試程序?

程序調(diào)試:當程序運行時,用于檢測程序運行過程的一種方式.
1.alert():警告框
2.console.log():控制臺輸出數(shù)據(jù)
3.document.write():在文檔窗口中輸出(寫入數(shù)據(jù))
    注意:正常文檔流中輸出可以正常顯示,文檔加載完輸出會替換原文檔內(nèi)容.
?

5.變量的聲明方式有哪些?并舉例說明?

1.先聲明后賦值
var a;
a =10;
2.聲明的同時賦值
var a = 10;
3.同時聲明多個變量
var a = 10,b=11,c = 12;
var a = 10,
 b=11,
 c = 12;
4.連等聲明:
var a = b = 10;

6.js數(shù)據(jù)類型是如何劃分的?

JS數(shù)據(jù)類型可以分為:
1.基本數(shù)據(jù)類型
    number
    整數(shù)
   小數(shù)
   負數(shù)
   NaN:not a number (計算結(jié)果不是數(shù)值.)
        infinity:無窮大
 string
    單引號或者雙引號包裹的內(nèi)容.
 boolean
        ture
   false
 null:空對象
    undefined:聲明未賦值
2.復(fù)雜數(shù)據(jù)類型(引用數(shù)據(jù)類型)
    Array:數(shù)組
 object:對象
 function:函數(shù)

7.如何查看字符串的長度,如何獲取字符串的對應(yīng)下標的字符。

str.length:查看長度
str.charAt(下標)

8.變量的作用和命名規(guī)則是什么?

1.只能是數(shù)字,字母,下劃線,$組成.
2.不能以數(shù)字開頭
3.不能是關(guān)鍵字和保留字.
4.建議使用小駝峰命名法.
5.區(qū)分大小寫.
6.不能重復(fù)聲明.重復(fù)聲明后面的會覆蓋前面的.

9.typeof的返回值有哪些?

typeof的作用是查看變量的數(shù)據(jù)類型.
格式:
typeof(變量)
typeof 變量
?
typeof返回值:
number-->number
字符串--->string
布爾類型--->boolean
null--->object
undefined-->undefined

1.算術(shù)運算的隱式轉(zhuǎn)換規(guī)則有哪些?

1.除+號外,其他算數(shù)運算符在運算時默認將操作數(shù)轉(zhuǎn)為number,不能轉(zhuǎn),結(jié)果為NaN.
2.+兩邊只要出現(xiàn)了字符串,就是字符串的拼接操作.
    如果字符串+基本數(shù)據(jù)類型:字符串拼接.
 字符串+復(fù)雜類型:調(diào)用復(fù)雜類型的toString()獲取字符串格式,在和字符串拼接.

2.比較運算的隱式轉(zhuǎn)換規(guī)則有哪些?

1.默認轉(zhuǎn)為number進行比較.
2.字符串和字符串比較:按位比較ascii碼.
3.NaN和任何內(nèi)容比較的結(jié)果均為false.

3.=====的區(qū)別?

==:比較的是值是否相等,會進行隱式轉(zhuǎn)換.
===:比較值和類型時候都相等,不會進行隱式轉(zhuǎn)換.
?

4.如何獲取dom元素,請寫出語法結(jié)構(gòu)。

1.通過dom對象獲取:
    document.getElementById('id');
    document.getElementsByClassName("class")
    document.getElementsByTagName('tag')
2.通過父元素獲取:
    parent.getElementsByClassName('class')
    parent.getElementsByTagName('tag')

5.常見的鼠標事件有哪些,請分別寫出事件名稱及其含義。

1.onclick:鼠標的點擊事件
2.onmouseover:鼠標懸浮(移入)
3.onmouseout:鼠標移出
4.onmousemove:鼠標移動
5.onmousedown:鼠標按下
6.onmouseup:鼠標抬起
7.ondblclick:雙擊
8.oncontextmenu:右擊

6.如何強制轉(zhuǎn)數(shù)值類型,其規(guī)則有哪些?

轉(zhuǎn)換方法:
    1.Number()
    2.parseInt(字符串)/parseFloat(字符串)
?
規(guī)則:
1.字符串字面量為數(shù)值的正常轉(zhuǎn)為number,空串為0,其他為NaN.
2.布爾類型:true為1,false為0;
3.null和undefined轉(zhuǎn)number:null為0,undefined為NaN
4.復(fù)雜類型轉(zhuǎn)number,先調(diào)用復(fù)雜類型的toString(),再將字符串轉(zhuǎn)為number.
    []-->toString-->''--->0
    {}--->[object Object]-->NaN

7.如何強制轉(zhuǎn)字符串,其規(guī)則有哪些?

轉(zhuǎn)換方法:
    1.String()
    2.對象.toString()
規(guī)則:
    1.基本數(shù)據(jù)類型轉(zhuǎn)string,將數(shù)據(jù)兩邊用雙引號或單引號包裹即可.
 2.復(fù)雜類型:
        數(shù)組:
            []--->''
            [1]--->'1'
            [1,2]-->'1,2'
        對象:[object Object]

8.如何強制轉(zhuǎn)布爾類型,其規(guī)則有哪些?

1.數(shù)值轉(zhuǎn)布爾:0和NaN為false,其他均為true;
2.字符串轉(zhuǎn)布爾:空串為false,其他均為true;
3.null和undefined轉(zhuǎn)布爾均為false.
4.復(fù)雜類型轉(zhuǎn)布爾均為true.

1.頁面有100個li標簽,如何給這些標簽綁定循環(huán)事件,請寫出具體的思路和步驟。(也可以用代碼表示)

var oLis = document.getElementsByTagName("li");
?
for(var i = 0;i

2.請寫出for循環(huán)的語法格式,并說出其執(zhí)行流程。

循環(huán)的特征:
1.循環(huán)變量
2.循環(huán)的條件
3.循環(huán)體
4.更新循環(huán)變量的值.
?
for(初始化循環(huán)變量;循環(huán)的條件;更新循環(huán)變量的值.){
 循環(huán)體
}
執(zhí)行流程:
1.初始化循環(huán)變量
2.判斷循環(huán)條件時候滿足,
 滿足執(zhí)行循環(huán)體
    不滿足結(jié)束循環(huán)
3.更新循環(huán)變量的值,繼續(xù)從第2步執(zhí)行.
?

3.分別寫出單分支,雙分支,多分支的語法結(jié)構(gòu).

1.單分支:
if(條件){
 條件滿足執(zhí)行的代碼
}
?
2.雙分支
if(條件){
    條件滿足執(zhí)行的代碼
}else{
 條件不滿足執(zhí)行的代碼
}
3.多分支:
if(條件1){
 條件1滿足執(zhí)行的代碼
}else if(條件2){
 條件2滿足執(zhí)行的代碼
}...{
 ...
}else{
 上述條件都不滿足執(zhí)行的代碼.
}
switch(匹配項){
 case value1:匹配項=value1時執(zhí)行的代碼;break;
 case value2:匹配項=value2時執(zhí)行的代碼;break;
 case value3:匹配項=value3時執(zhí)行的代碼;break;
 case value4:匹配項=value4時執(zhí)行的代碼;break;
 ...
 default:上述情況都不匹配執(zhí)行的代碼;
?
}

4.如何操作DOM元素的內(nèi)容?

1.操作表單元素的內(nèi)容:
    設(shè)置:元素.value = 新值
    獲取:元素.value
2.操作閉合標簽的內(nèi)容:
    設(shè)置:元素.innerHTML/innerText = "新值"
    獲取:元素.innerHTML/innerText
    注意:
    (1)元素設(shè)置內(nèi)容會將原內(nèi)容替換掉.
 (2)innerHTML獲取或者設(shè)置內(nèi)容是可以識別html標簽的.
 (3)innerText只能獲取文本內(nèi)容,不能識別標簽.

5.如何操作DOM元素的屬性?

獲取:元素.屬性名
設(shè)置:元素.屬性名= 屬性值
注意:
    (1)元素.屬性名只能獲取或者設(shè)置默認屬性,不能操作自定義屬性.
 (2)操作class屬性要通過:元素.className
?
?

6.如何操作DOM元素的樣式?

設(shè)置樣式:元素.style.樣式名 = 樣式值
注意:
(1)樣式名如果是中劃線命名的,要改成小駝峰命名.
(2)設(shè)置的樣式作用在行內(nèi).
?

1.break和continue的作用?

break:結(jié)束循環(huán)。
continue:結(jié)束本次循環(huán),繼續(xù)下一次循環(huán)。

2.什么是對象,對象如何獲取對象的屬性值,如何遍歷對象。

JS中的對象主要用來描述一個事物。一個事物可以有多個屬性和方法。
var obj = {
 //對象的屬性
 name:'zs',
 age:10,
?
 //對象的方法
 study:function(){
?
 }
}
?
獲取對象的屬性方法:
1.對象.屬性名:obj.name
2.對象['屬性名']:obj["name"]
?
遍歷對象:
for(var key in obj ){
 //key:對象的屬性名
 obj[key]:key所對應(yīng)的屬性值value。
}
?

3.什么是函數(shù),函數(shù)的作用是什么?

函數(shù)的定義:函數(shù)就是將`具有獨立功能的代碼塊`整合到一起并`命名`,需要的時候`調(diào)用`即可。
函數(shù)的作用:
(1)提高開發(fā)效率
(2)提高代碼的重用率。

4.函數(shù)聲明方式有幾種,分別寫出其語法結(jié)構(gòu)。

1.關(guān)鍵字聲明
function 函數(shù)名(){
?
}
2.表達式聲明:
var 函數(shù)名= function(){
?
}

5.函數(shù)的使用場景有哪些?

1.代碼復(fù)用
2.事件處理函數(shù)。
//事件一旦觸發(fā),就執(zhí)行函數(shù)中的代碼。(自動調(diào)用函數(shù)。)
//事件處理函數(shù),事件不觸發(fā)就不執(zhí)行。
oBtn.onclick = function(){
?
}
oBtn.onclick = show
function show(){
?
}
3.對象的方法。
var obj = {
 //對象的屬性
 name:'zs',
 age:10,
?
 //對象的方法
 study:function(){
?
 }
}
?

6.什么是形參,什么是實參。

形參:形式參數(shù),函數(shù)聲明時,寫在小括號中的參數(shù)。
function fun(a,b){
?
}
實參:實際參數(shù),函數(shù)調(diào)用時,實際傳遞的具體參數(shù)。
fun(10,15)

7.js中函數(shù)的參數(shù)在聲明函數(shù)和調(diào)用函數(shù)時都有哪些需要注意內(nèi)容?

1.函數(shù)參數(shù)的個數(shù)問題:
(1)一個參數(shù):聲明和調(diào)用時直接寫一個參數(shù)即可。
(2)多個確定的參數(shù):
    聲明時,形參按照順序用逗號隔開依次寫到小括號中即可。
    調(diào)用時,實參按照形參的順序依次的傳遞即可。
 函數(shù)調(diào)用時:實參給形參一一賦值。
(3)參數(shù)個數(shù)不確定:
    聲明時,形參可以不寫。在函數(shù)內(nèi)部使用arguments來接收所有的實參,并操作實參。
 調(diào)用時,實參用逗號分隔傳遞即可。
?
 function sumTotal(){
   var s = 0;
   for(var i = 0;i

1.關(guān)于函數(shù)的返回值,你的理解是什么?且函數(shù)的返回值都有哪些注意的內(nèi)容。

1.函數(shù)的返回值:函數(shù)執(zhí)行所得的結(jié)果.
2.注意實現(xiàn):
    (1)函數(shù)中需要使用return關(guān)鍵字返回返回值,函數(shù)外調(diào)用時可以使用變量接收該返回值.
 function fn(){
        return 1
 }
    var res = fn()
 (2)函數(shù)執(zhí)行到return就直接結(jié)束函數(shù)執(zhí)行.
 (3)函數(shù)沒有return任何內(nèi)容,默認返回undefined.
 (4)函數(shù)一次只能return一個內(nèi)容.如果返回多個數(shù)據(jù),需要使用數(shù)組.

2.什么是函數(shù)封裝,函數(shù)封裝的步驟是什么?

1.函數(shù)封裝就是把一個或多個功能通過函數(shù)的方式封裝起來,對外只提供一個簡單的函數(shù)接口,通過調(diào)用這個函數(shù)就能復(fù)用封裝的功能.
2.封裝的步驟:
(1)確定函數(shù)名稱,見名知意
(2)確定函數(shù)的參數(shù),函數(shù)中不確定的內(nèi)容,或者需要傳入的內(nèi)容使用參數(shù)來表示.
(3)按照邏輯或者功能按步驟寫函數(shù)體.
(4)將需求結(jié)果使用return返回即可.
?
?
數(shù)據(jù)類型轉(zhuǎn)換:
Number()-->數(shù)組類型的對象.
String()
?

3.請寫出獲取非行間樣式的函數(shù)

function getStyle(elem,attr){
 if(elem.currentStyle){
   //IE
   return elem.currentStyle[attr];
 }else{
   //標準
   return getComputedStyle(elem)[attr];
 }
}

4.this的作用有哪些?

this是函數(shù)中的一個特殊對象,在不同的函數(shù)中其指向不同.
1.普通函數(shù)中,指向window.
function fn(){}
2.事件處理函數(shù)中,指向觸發(fā)事件的元素.
oDiv.onclick = function(){}
3.對象的方法中,指向當前對象.
{name:zs,study:function(){}}
4.全局作用域下,指向window.

5.排他思想的實現(xiàn)思路是什么?

1.先清空所有相同元素的目標樣式.
2.誰觸發(fā)事件,就給誰添加目標樣式.

6.什么是開關(guān)效果,開關(guān)效果實現(xiàn)思路是什么?

開關(guān)效果的思路:
1.設(shè)置一個變量(狀態(tài)標識)記錄每種狀態(tài)。
2.判斷當前處于什么狀態(tài),就設(shè)置成對應(yīng)的狀態(tài),并修改狀態(tài)標識。

7.什么是作用域,什么是作用域鏈。js的作用域可以分為哪些?

1.作用域:變量或者是函數(shù)的作用范圍.
2.作用域可以分為:
全局作用域:整個script標簽或者最外層 的js代碼的位置.
局部作用域:函數(shù)內(nèi)部.
3.全局變量和局部變量:
全局變量:在全局作用域下定義的變量.
局部變量:在函數(shù)內(nèi)部定義變量.
關(guān)系:局部變量只能在函數(shù)內(nèi)部使用,全局變量可以在任意位置都可以使用.
?
4.作用域鏈:JS查找變量的規(guī)則
規(guī)則:先從當前作用域查找,如果不存在繼續(xù)向父級作用域查找,如果找到就直接用,找不到繼續(xù)向父級查找,直到找到全局作用域為止,如果還未找到就報錯:xx is not defined

8.什么是js的預(yù)解析(變量提升),及js的預(yù)解析過程是什么?

1.預(yù)解析是JS解釋器執(zhí)行JS代碼的一個步驟.
JS解釋器執(zhí)行JS代碼的步驟可以分為2步:
(1)預(yù)解析
(2)代碼從上往下解釋執(zhí)行.
?
2.預(yù)解析過程:
(1)在任何作用于下都有各自的預(yù)解析.
(2)預(yù)解析解析的目標對象:var出來的變量,和function關(guān)鍵聲明的函數(shù).
(3)預(yù)解析具體的處理方式:var出來的變量賦值為undefined,function聲明的函數(shù)賦值函數(shù)體,如果函數(shù)同名,保存最后的一個.
?

1.什么是選項卡效果,選項卡效果如何實現(xiàn)?

選項卡效果:一組選項和一組頁面相對應(yīng),點擊一個選項顯示相應(yīng)頁面.
1.分別獲取選項和對應(yīng)的頁面.
2.對選項進行循環(huán)事件綁定
3.給循環(huán)添加自定義屬性index,來標識每個選項下標.
4.在事件循環(huán)函數(shù)中通過this.index來確定操作的頁面的位置.

2.定時器有哪幾種,請分別寫出其語法,并說出他們之間的區(qū)別?

1.延時定時器:
語法:id = setTimeOut(函數(shù),延時時間)
作用:延時時間后調(diào)用一次函數(shù),只調(diào)用一次.
2.間歇定時器:
語法:id = setInterval(函數(shù),間歇時間)
作用:每隔間歇時間,調(diào)用一次函數(shù).可以無限調(diào)用.
?
3.停止定時器:
語法:clearInterval(id);
?

3.請寫出運動函數(shù)?

function move(elem,attr,step,target){
 //1.清空定時器,避免定時器疊加.
 clearInterval(elem.timer);
 //2.判斷速度正負.
 step = parseInt(getStyle(elem,attr))=target && step>0)||(cur<=target && step<0)){
     cur = target;
     clearInterval(elem.timer);
   }
   //(3)設(shè)置attr到elem
   elem.style[attr] = cur+'px';
 },30)
}

1.JS的對象可以分為哪些類,并列舉出常見的對象。

1.內(nèi)部對象
    Number
 String
 Boolean
 Object
 Array
 Function
?
 Math
 Global
?
 Date
 RegExp
 Error
?
2.宿主對象
    Dom
 Bom
3.自定義對象

2.Math對象的方法都有哪些并說明其作用?

1.取整方法
    Math.floor():下取整
 Math.ceil():上取整
 Math.round():四舍五入
2.隨機數(shù)
    [0,1)隨機數(shù):Math.random()
    [0,n]隨機數(shù):Math.floor(Math.random()*(n+1))
    [m,n]隨機數(shù):Math.floor(Math.random()*(n-m+1)+m)
?
3.數(shù)學公式
    Math.max(1,2,3,4,..)
    Math.min(1,2,3,4,...)
 Math.abs()
    Math.sqrt():平方根
 Math.pow(x,y):x^y

3.創(chuàng)建時間對象的方法有哪些?

1.系統(tǒng)時間:new Date()
2.自定義時間:
    a.多個參數(shù):new Date(年,月-1,日,時,分,秒)
    b.一個參數(shù):
        new Date(‘年,月,日,時,分,秒’)
        new Date(‘年-月-日,時,分,秒’)
        new Date(‘年/月/日,時,分,秒’)
?

4.Date對象的方法有哪些?

oDate.getFullYear()
oDate.getMonth()
oDate.getDate()-獲取天
oDate.getDay()--獲取星期下標
oDate.getHours()--小時
oDate.getMinutes()--分鐘
oDate.getSeconds()--獲取秒
oDate.getTime()--時間戳
?

5.字符串對象的方法有哪些(11)?

1.字符串屬性
    str.length
2.查找方法
    str[下標]
    str.charAt(下標)
    str.charCodeAt(下標)
    str.indexOf('字符串'):查看字符串在str中首次出現(xiàn)的下標,如果未找到返回-1
3.變形方法
    str.toUpperCase()
    str.toLowerCase()
4.截取方法
    str.substring(start,end)
    str.slice(start,end)
?
    str.substr(start,length)
5.修改方法
    str.replace(替換什么,用什么替換)
    str.split('切分符號')
    str.trim():去除兩邊空格
?

1.數(shù)組的創(chuàng)建方法有哪些?

1.字面量創(chuàng)建
var arr = [1,2,3]
2.關(guān)鍵字new創(chuàng)建
var arr = new Array();//創(chuàng)建空數(shù)組
var arr = new Array(3);//長度為3的空數(shù)組.
var arr = new Array(1,2,3)//[1,2,3]

2.數(shù)據(jù)的添加元素的方法有哪些?

1.使用下標添加:
arr[i] = value;//給數(shù)組下標i的位置添加一個value.也有修改數(shù)組元素內(nèi)容的作用;
2.尾部添加和刪除:
arr.push(items);
arr.pop():尾部刪除一個元素,返回刪除的元素
3.頭部添加和刪除:
arr.unshift(items):頭部添加
arr.shift():頭部刪除一個元素返回

3.如何給數(shù)組去重?

1.比較刪除法:
var arr = [11,22,22,33,11];
for(var i =0;i

4.請寫出給一個數(shù)組使用選擇排序算法排序的代碼?

for(var i=0;iarr[j]){
     minIndex = j;
   }
 }
 //minIndex和i交換
 var temp = arr[i];
 arr[i] = arr[minIndex];
 arr[minIndex] = temp;
}

5.請寫出給一個數(shù)組使用冒泡排序算法排序的代碼?

for(var i = 0;iarr[j+1]){
     var temp = arr[j];
     arr[j] = arr[j+1];
     arr[j+1] = temp;
   }
 }
}

6.已知數(shù)組var arr = [1,2,-4,6,0,9];如何對該數(shù)組元素進行隨機排序?

var arr = [1,2,-4,6,0,9];
arr.sort(function(a,b){
 return Math.random()-0.5;
})

7.如何對數(shù)組中的對象排序,請用代碼舉例說明?

var arr = [
 {name:'zs',age:18},
 {name:'xx',age:20},
 {name:'zz',age:19},
?
]
arr.sort(function(a,b){
 returen a.age-b.age;//按照年齡從小到大.
})

8.統(tǒng)計一個字符串中某個字符出現(xiàn)的次數(shù)?并找出出現(xiàn)次數(shù)最多的字符?

var str = 'aafwafawf23j2i32inkl32jio23';
var obj = {}
for(var i = 0;imaxCount){
   maxCount = obj[key];
   maxChar = key;
 }
}
maxChar:次數(shù)最多的字符
maxCount;最大重復(fù)次數(shù)

1.數(shù)組的常用方法有哪些(10)?

1.添加和刪除
    arr.push(items):尾部添加
    arr.pop():尾部刪除
arr.unshift(items):頭部添加
arr.shift():頭部刪除
2.splice方法:
    arr.splice(start,deleteCount,items):從start開始刪除deletecount個元素,并用items替換.
        deleteCount:如果不指定,默認刪除到結(jié)尾.
?
?
3.數(shù)組的其他方法:
    arr.join("連接符"):將數(shù)組元素通過連接符拼接成一個字符串.
arr.reverse():反轉(zhuǎn)數(shù)組.
arr.concat(arr2,arr3):將數(shù)組拼接成一個新數(shù)組[arr,arr2,arr3]
    arr.indexOf('元素'):判斷元素在數(shù)組中的下標,如果不存在返回-1
    arr.slice(start,end):從start開始截取到end-1為止(包頭不包尾)
4.排序方法:
    arr.sort(function(a,b){
   return a-b//升序
   return b-a//降序
 })

2.正則對象的創(chuàng)建方法?正則修飾符有哪些?

字面量: /正則表達式/修飾符
關(guān)鍵字:new RegExp('正則表達式','修飾符')
?
修飾符:
1.g:全局匹配.
2.i:忽略大小寫

3.正則的匹配方法有哪些?

1.字符串的方法:
    str,replace(regObj,用什么替換)
    str.split(regObj)
    str.search(regObj):查詢regObj匹配的內(nèi)容的下標,如果沒有找到返回-1
    str.match(regObj):將正則匹配到的內(nèi)容提取出來.配合g修飾符可以全局查找提取.
2.正則對象方法:
    regObj.test(str):查看正則對象時候匹配字符串,true為匹配,false為不匹配.
 regObj.exec(str):檢索正則匹配到的內(nèi)容,返回一個數(shù)組.

4.請列舉出常見的元字符并說出他們的含義?

單個字符:
    .:除換行符意外的任意字符.
 [abc]:匹配a或b或c
 [a-z]:匹配小寫字母
    [^a-z]:匹配非小寫字母.
 \d:數(shù)值0-9
    \w:數(shù)字字母,下劃線
    \s:空白字符(空格 ,換行\(zhòng)n,\t)
    \b:單詞邊界
表示重復(fù)次數(shù):
    ?:重復(fù)0或1次
 *:>=0
    +:>=1
    {n};重復(fù)n次
 {n,m}:[n,m]
    {n,}:>=n

5.DOM如何獲取子節(jié)點,并說出他們的區(qū)別?

parent.children :返回htmlcollection,獲取標簽子節(jié)點.
parent.childNodes:返回NodeList,可以獲取所有類型的子元素(文本節(jié)點,注釋節(jié)點,標簽節(jié)點)

6.DOM如何獲取父節(jié)點。

1.獲取直接父元素:子元素.parentNode
2.獲取定位父元素:子元素.offsetParent

7.DOM如何獲取兄弟節(jié)點?

1.首節(jié)點:parent.firstElementChild || parent.firstChild
2.尾節(jié)點:parent.lastElementChild || parent.lastChild
3.下一個兄弟: 參考節(jié)點.nextElementSibling || nextSilbing
4.上一個兄弟:參考節(jié)點.previousElementSibling || previousSilbing
?
?

8.如何通過css選擇器獲取元素?

document/parent.querySelector();獲取選擇器選中的第一個元素.
document/parent.querySelectorAll():獲取選擇器選中的所有元素.

9.如何創(chuàng)建一個標簽節(jié)點。

document.createElement("標簽名")

1.DOM的屬性操作有哪些方法,并說明其作用?

1.元素.屬性名操作屬性:
    獲取:元素.屬性名
    設(shè)置:元素.屬性名 = 屬性值
    注意:只能操作默認屬性,操作自定義屬性怎么設(shè)置怎么獲取.
2.元素.getAttribute(屬性名):獲取屬性
    注意:可以獲取任意屬性.
3.元素.setAttribute(屬性名,屬性值)
    可以設(shè)置任意屬性.
4.元素.removeAttribute(屬性名)

2.DOM如何快速的獲取表格內(nèi)容,都有哪些方法。

第一步:獲取table標簽
第二步:通過table標簽屬性快速獲取其他表格元素.
oTab.tHead-表頭
oTab.tBodies:獲取所有的tbody
oTab.tFoot:獲取表的底部
oTab.tBodies[0].rows:獲取tbody的所有的行
oTab.tBodies[0].rows[0].cells:獲取tbody的第一行的所有單元格.
?
?

3.如何快速的獲取表單的input,form表單的事件分別有哪些,其作用是什么?

1.
第一步:獲取form標簽
第二步:通過form標簽.表單元素name屬性可以快速獲取所有的表單控件.
2.form的事件:
(1)onreset:重置事件,事件函數(shù)中返回true:允許重置,false:阻止重置.
(2)onsubmit:表單提交事件,事件函數(shù)中返回true:允許提交,false:阻止提交.
?

4.input表單控件的事件(5個)有哪些,請分別說明起作用。

onfocus:表單獲取光標觸發(fā).
onblur:表單失去光標
oninput:獲取焦點后,,當表單內(nèi)容發(fā)生變化時觸發(fā)(實時觸發(fā))
    IE低版本不報錯,無效.
onpropertychange:獲取焦點后,當表單內(nèi)容發(fā)生變化時觸發(fā)(實時觸發(fā))
    IE低版本有效.
onchange:失去焦點的時候輸入框內(nèi)容發(fā)生變化時觸發(fā)(當前內(nèi)容和上一次內(nèi)容比較)

5.什么是BOM,BOM的核心是什么,window和document的區(qū)別是什么?

BOM:broswer object model(瀏覽器對象模型)
BOM的核心是window,window是JS中最大的對象,所有全局變量和函數(shù)都屬于window,可以通過window.來調(diào)用,也可以省略window
window和document的區(qū)別:
1.window表示瀏覽器窗口對象,是JS最大的對象.是BOM的核心.
2.document表示文檔對象.是DOM的核心.

6.BOM的client系列有哪些屬性,并說明其作用。

元素.clientWidth:獲取可視寬 (content+padding)
元素.clientHeight:獲取可視高(content+padding)
獲取窗口的可視區(qū)寬高:
    document.documentElement.clientWidth/clientHeight

7.BOM的offset系列有哪些屬性,并說明起作用?

1.獲取元素的占位寬高:
    元素.offsetWidth/offsetHeight(content+padding+border)
2.獲取元素的位置:(獲取距離定位父元素的距離)
    元素.offsetTop/offsetLeft

8.BOM的scroll系列有哪些屬性,并說明其作用?

1.獲取元素實際寬高:
    元素.scrollWidth/scrollHeight
2.獲取被卷曲的高度:元素.scrollTop
3.獲取元素被卷曲的寬度:元素.scrollLeft
4.獲取頁面被卷曲的高度:
    document.body.scrollTop || document.documentElement.scrollTop

9.DOM創(chuàng)建節(jié)點,刪除節(jié)點,添加節(jié)點,替換和復(fù)制節(jié)點的方法分別是什么?(DOM操作節(jié)點的方法)(7)


網(wǎng)頁題目:JS初識
URL鏈接:http://weahome.cn/article/dsojpgg.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部