国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS基礎(chǔ)(選擇器,變量類型,內(nèi)置對象,作用域,JSON)

DangoSky / 746人閱讀

摘要:是的一個子對象。局部變量在函數(shù)作用域銷毀時,就會被釋放,而全局變量一旦被創(chuàng)建,就不會被釋放,除非頁面關(guān)閉但是隱式全局變量可以被銷毀,沒有使用聲明的全局變量。預(yù)解釋中的變量提升,只會提升到當(dāng)前作用域的最前面,而不是其他作用域。

JS DOM和BOM:

  ECMAScript標(biāo)準(zhǔn) js基本語法

DOM 文檔對象模型    DOM提供了方法操作DOM樹上的節(jié)點(diǎn)

BOM 瀏覽器對象模型   通過BOM可以 獲得屏幕分辨率 控制瀏覽器跳轉(zhuǎn) 彈出框

BOM中的頂級對象就是window,DOM中的頂級對象是document。document是window的一個子對象。
window.onload(){}
setInterval()  clearInterval()
setTimeout()  clearTimeout()

Location 對象
包含的屬性有 hash(地址欄#后的內(nèi)容)、href(地址)、protocol(協(xié)議)、port(端口)、
host(主機(jī)和端口號)、hostname(主機(jī)名字)、pathname(路徑名字)、search(搜索的內(nèi)容:獲取的?后的內(nèi)容)
location.assign() //和location.href一樣的操作
location.replace() //替換的地址,沒有歷史記錄
location.reload() //頁面重新加載

History 對象
history.forward()  //前進(jìn)
history.back()    //后退
history.go()     //正數(shù)就是前進(jìn),負(fù)數(shù)就是后退

DOM對象:
document.getElementById("div");     //返回一個ID屬性為‘div’的對象
document.getElementsByTagName("div");   //返回由所有div標(biāo)簽的組成的數(shù)組
document.getElementsByClassName("div");  //返回所有含有類名為‘div’的元素數(shù)組
document.getElementsByName("div");     //返回查詢元素的 name屬性為‘div’的元素數(shù)組
document.querySelector("a[targe]");    //返回第一個含有target屬性的‘a(chǎn)’元素
document.querySelectorAll(".example");  //返回是多個含有類名為example的元素的數(shù)組

JS有五種基本數(shù)據(jù)類型:

  number / string / boolean / undefined / null    (可使用 typeof方法 來判斷基礎(chǔ)對象類型)

引用型數(shù)據(jù)類型:
function / object
引用數(shù)據(jù)類型會開辟出堆內(nèi)存,它們指向的是 內(nèi)存地址。
字符串 之間用 "+" 會拼接字符串,如果其他類型數(shù)據(jù)和字符串拼接,會被轉(zhuǎn)換為字符串,這其中涉及到變量的隱式轉(zhuǎn)換  

  

類型轉(zhuǎn)換:

 數(shù)字類型轉(zhuǎn)換:parseInt() / parseFloat() / Number()
 *(總結(jié):想要轉(zhuǎn)整數(shù)用parseInt(),想要轉(zhuǎn)小數(shù)用parseFloat(),想要轉(zhuǎn)數(shù)字:Number();更嚴(yán)格。)*

其他類型轉(zhuǎn)換:

 .toString() / String() / Boolean()
 NaN 不是一個數(shù)字,或者不是數(shù)字與數(shù)字的計算就會得到 NaN  (isNaN()  判斷一個值是不是 NaN)
 ! 表示非,  !false == true  的結(jié)果為true  

操作符:

 算數(shù)運(yùn)算符:+  -  * / %
 一元運(yùn)算符:++ -- 
 二元操作符:&& || 
 三元操作符: 條件?結(jié)果1 : 結(jié)果2
 復(fù)合運(yùn)算符: +=  -=  *= /= %=

流程控制:

 if(){  } else if(){  }else{  }
 switch(){  case  :    ;default:  ;  } 
 while(){  }
 do{  }while() 
 for( ; ; ){  }
 (break 用來取消后續(xù)循環(huán),continue  用來取消本次循環(huán))
 (switch中的條件判斷 使用的是嚴(yán)格模式的全等于)

JS內(nèi)置對象:

 實(shí)例方法:通過new的方式創(chuàng)建的對象(實(shí)例對象)來調(diào)用的方法
 靜態(tài)方法:直接通過構(gòu)造函數(shù)調(diào)用的方法

Array 創(chuàng)建方式有兩種:
var a =[];        //直接通過字面量創(chuàng)建
var a = new Array()   //通過構(gòu)造函數(shù)進(jìn)行創(chuàng)建

Array對象的靜態(tài)方法:
Array.isArray(對象)  //判斷這個對象是不是數(shù)組

Array對象的實(shí)例方法:
.concat(數(shù)組,數(shù)組,..) //組合一個新數(shù)組
.every(函數(shù)) //返回布爾值,函數(shù)作為參數(shù)使用,函數(shù)中有三個參數(shù),分別是元素的值,索引值,原來的數(shù)組(沒用)
       //數(shù)組中的每個元素都符合條件,才返回true
.filter(函數(shù));   //數(shù)組中復(fù)合條件的元素,組成新數(shù)組
.map(函數(shù));    //每個元素都執(zhí)行這個函數(shù),把執(zhí)行后的結(jié)果重新放在一個新的數(shù)組中
.forEach(函數(shù))   //遍歷數(shù)組用
.push(值);     //把值追加到最后了,返回值是追加數(shù)據(jù)后的數(shù)組長度
.pop();       //刪除最后一個元素,返回值就是刪除的這個值
.shift();     //刪除第一個元素,返回值就是刪除的這個值
.unshift();    //向第一個元素前插入新元素,返回值是插入后的長度
.indexOf(元素值); //返回的是索引,沒有則是-1
.join("字符串"); //返回的是一個字符串
.reverse();    //反轉(zhuǎn)數(shù)組
.sort();      //排序
.slice(開始,結(jié)束); //把截取的數(shù)組的值放在一個新的數(shù)組中,但是不包含結(jié)束的索引對應(yīng)的元素值
.splice(開始,要刪的個數(shù),替換的值); //一般是用于刪除數(shù)組中的元素,或者是替換元素,或者是插入元素

Math 對象 :

Math對象的靜態(tài)方法:
Math.PI ---π---
Math.sqrt() ---取平方根---
Math.pow(a,b) ---a的b次方---
Math.E ---自然常數(shù)---
Math.abs() ---絕對值---
Math.ceil() ---向下取整---
Math.floor() ---向上取整---
Math.Max() ---取最大值---
Math.Min() ---取最小值---
Math.random() ---取0-1之間隨機(jī)值(不包括1)---

Date 對象

Date對象的靜態(tài)方法:
Date.now()          //獲取當(dāng)前時間

Date對象的實(shí)例方法:
.getFullYear()       //獲取年份
.getMonth()        //獲取月份從0開始
.getDate()         //獲取日
.getHours()       //獲取小時
.getMinutes()       //獲取分鐘
.getSeconds()       //獲取秒數(shù)
.getDay()        //獲取星期數(shù)
.toLocaleDateString()   //"2019/1/25"
.toLocaleTimeString()  //"下午2:20:26"
.valueOf()        //1548397226024
.toString()        //"Fri Jan 25 2019 14:20:26 GMT+0800 (中國標(biāo)準(zhǔn)時間)"

String 對象
字符串可以看作是由很多字符組成的數(shù)組,字符串有不可變的特性,字符串的值之所以看起來是改變的,那是因?yàn)橹赶蚋淖兞?并不是真的值改變了。

字符串的常用屬性:
.length 字符串長度
.charAt(索引)             //返回值是指定索引位置的字符串,超出索引,結(jié)果是空字符串
.concat(字符串1,字符串2,...);     //返回的是拼接之后的新的字符串
.indexOf(要找的字符串,開始的索引值);  //返回的是這個字符串的索引值,沒找到則返回-1
.lastIndexOf(要找的字符串);      //從后向前找,但是索引仍然是從左向右的方式,找不到則返回-1
.replace("原來的字符串","新的字符串");//用來替換字符串的
.slice(5,10);  //從索引5的位置開始提取,到索引為10的前一個結(jié)束,沒有10,并返回這個提取后的字符串
.split("字符串",切割后留下的個數(shù));   //切割字符串
.substr(開始的位置,個數(shù));       //返回的是截取后的新的字符串
.substring(開始的索引,結(jié)束的索引)   //返回截取后的字符串,不包含結(jié)束的索引的字符串
.toLowerCase();           //轉(zhuǎn)小寫
.toLocaleUpperCase() 轉(zhuǎn)大寫
.toUpperCase();           //轉(zhuǎn)大寫
.trim();              //干掉字符串兩端的空格

作用域:

分為全局作用域和局部作用域,根據(jù)所在的作用域不同,變量又分為全局變量和局部變量。此外,還有塊級作用域,被"{ }"包裹就可以看成一個塊,其實(shí)的變量定義,使用var 定義可以被外部使用, 使用 const、let 不可以被外部使用。

局部變量在函數(shù)作用域銷毀時,就會被釋放,而全局變量一旦被創(chuàng)建,就不會被釋放,除非頁面關(guān)閉(但是隱式全局變量可以被銷毀,沒有使用var聲明的全局變量)。

在所有作用域創(chuàng)建的時候,js引擎會有一個處理,預(yù)解釋,它所做的事,就是提前把所有的變量聲明了,所有的函數(shù)聲明并定義了(所以你可以在定義函數(shù)之前來調(diào)用這個函數(shù))。

預(yù)解釋中的變量提升,只會提升到當(dāng)前作用域的最前面,而不是其他作用域。

預(yù)解析會分段(多對的script標(biāo)簽中函數(shù)重名,預(yù)解析的時候不會沖突)。

JSON對象:

一組無序?qū)傩缘募系逆I值對,屬性的值可以是任意類型,這就是對象。JSON也是一個對象,數(shù)據(jù)都是成對的,一般json格式的數(shù)據(jù)無論是鍵還是值都是用雙引號括起來的。

JSON對象擁有兩個方法,parseInt() (將字符串轉(zhuǎn)換為JSON對象)和 stringify() (將JSON對象轉(zhuǎn)換為字符串),這兩個一般用于 數(shù)據(jù)存儲或者與后臺交互。

遍歷對象:

for(var key in json ){
    console.log(key +"===========" + json[key]);
}

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

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/108975.html

相關(guān)文章

  • 前端入門23-CSS預(yù)處理(Less&Sass)

    摘要:聲明聲明本篇內(nèi)容梳理自以下幾個來源網(wǎng)站的文檔中文網(wǎng)感謝大佬們的分享。這個時候,預(yù)處理器就出現(xiàn)了,其實(shí)應(yīng)該是說和這類語言出現(xiàn)了。聲明 本篇內(nèi)容梳理自以下幾個來源: Github:smyhvae/web Bootstrap網(wǎng)站的 less 文檔 Sass中文網(wǎng) 感謝大佬們的分享。 正文-CSS預(yù)處理(less&Sass) CSS預(yù)處理 什么是 CSS 預(yù)處理?為什么要有 CSS 預(yù)處理? 這...

    freecode 評論0 收藏0
  • 【連載】前端個人文章整理-從基礎(chǔ)到入門

    摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...

    madthumb 評論0 收藏0
  • 【前端面試】變量類型計算

    摘要:題目使用能得到哪些類型和的選擇中有哪些內(nèi)置函數(shù)變量按存儲方式分為哪些類型,并描述其特點(diǎn)如何理解知識點(diǎn)值類型和引用類型值類型引用類型對象,數(shù)組,函數(shù)值類型直接把值存儲在堆中,把賦值給在內(nèi)存中是又給開辟了一塊新的空間,存儲了同樣的值。 1.題目 1.JS使用typeof能得到哪些類型 === 和 == 的選擇 JS中有哪些內(nèi)置函數(shù) JS變量按存儲方式分為哪些類型,并描述其特點(diǎn) 如何理解J...

    DoINsiSt 評論0 收藏0
  • 前端_JavaScript_面向對象編程

    摘要:面向?qū)ο缶幊虒ο蟮脑椒ǚ殖蓛深愖陨淼姆椒o態(tài)方法和的實(shí)例方法。的靜態(tài)方法方法與,參數(shù)是對象,返回一個數(shù)組,數(shù)組的值是改對象自身的所有屬性名區(qū)別在于返回可枚舉的屬性,返回不可枚舉的屬性值。 面向?qū)ο缶幊?Objects對象的原生方法分成兩類:Object自身的方法(靜態(tài)方法)和Object的實(shí)例方法。注意Object是JavaScript的原生對象,所有的其他對象都是繼承自O(shè)bjec...

    Blackjun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<