摘要:是的一個子對象。局部變量在函數作用域銷毀時,就會被釋放,而全局變量一旦被創建,就不會被釋放,除非頁面關閉但是隱式全局變量可以被銷毀,沒有使用聲明的全局變量。預解釋中的變量提升,只會提升到當前作用域的最前面,而不是其他作用域。
JS DOM和BOM:
ECMAScript標準 js基本語法
DOM 文檔對象模型 DOM提供了方法操作DOM樹上的節點
BOM 瀏覽器對象模型 通過BOM可以 獲得屏幕分辨率 控制瀏覽器跳轉 彈出框
BOM中的頂級對象就是window,DOM中的頂級對象是document。document是window的一個子對象。
window.onload(){}
setInterval() clearInterval()
setTimeout() clearTimeout()
Location 對象
包含的屬性有 hash(地址欄#后的內容)、href(地址)、protocol(協議)、port(端口)、
host(主機和端口號)、hostname(主機名字)、pathname(路徑名字)、search(搜索的內容:獲取的?后的內容)
location.assign() //和location.href一樣的操作
location.replace() //替換的地址,沒有歷史記錄
location.reload() //頁面重新加載
History 對象
history.forward() //前進
history.back() //后退
history.go() //正數就是前進,負數就是后退
DOM對象:
document.getElementById("div"); //返回一個ID屬性為‘div’的對象
document.getElementsByTagName("div"); //返回由所有div標簽的組成的數組
document.getElementsByClassName("div"); //返回所有含有類名為‘div’的元素數組
document.getElementsByName("div"); //返回查詢元素的 name屬性為‘div’的元素數組
document.querySelector("a[targe]"); //返回第一個含有target屬性的‘a’元素
document.querySelectorAll(".example"); //返回是多個含有類名為example的元素的數組
作用域:number / string / boolean / undefined / null (可使用 typeof方法 來判斷基礎對象類型)
引用型數據類型:
function / object
引用數據類型會開辟出堆內存,它們指向的是 內存地址。
字符串 之間用 "+" 會拼接字符串,如果其他類型數據和字符串拼接,會被轉換為字符串,這其中涉及到變量的隱式轉換
類型轉換:
數字類型轉換:parseInt() / parseFloat() / Number() *(總結:想要轉整數用parseInt(),想要轉小數用parseFloat(),想要轉數字:Number();更嚴格。)*
其他類型轉換:
.toString() / String() / Boolean() NaN 不是一個數字,或者不是數字與數字的計算就會得到 NaN (isNaN() 判斷一個值是不是 NaN) ! 表示非, !false == true 的結果為true
操作符:
算數運算符:+ - * / % 一元運算符:++ -- 二元操作符:&& || 三元操作符: 條件?結果1 : 結果2 復合運算符: += -= *= /= %=
流程控制:
if(){ } else if(){ }else{ } switch(){ case : ;default: ; } while(){ } do{ }while() for( ; ; ){ } (break 用來取消后續循環,continue 用來取消本次循環) (switch中的條件判斷 使用的是嚴格模式的全等于)
JS內置對象:
實例方法:通過new的方式創建的對象(實例對象)來調用的方法 靜態方法:直接通過構造函數調用的方法Array 創建方式有兩種:
var a =[]; //直接通過字面量創建
var a = new Array() //通過構造函數進行創建Array對象的靜態方法:
Array.isArray(對象) //判斷這個對象是不是數組Array對象的實例方法:
.concat(數組,數組,..) //組合一個新數組
.every(函數) //返回布爾值,函數作為參數使用,函數中有三個參數,分別是元素的值,索引值,原來的數組(沒用)
//數組中的每個元素都符合條件,才返回true
.filter(函數); //數組中復合條件的元素,組成新數組
.map(函數); //每個元素都執行這個函數,把執行后的結果重新放在一個新的數組中
.forEach(函數) //遍歷數組用
.push(值); //把值追加到最后了,返回值是追加數據后的數組長度
.pop(); //刪除最后一個元素,返回值就是刪除的這個值
.shift(); //刪除第一個元素,返回值就是刪除的這個值
.unshift(); //向第一個元素前插入新元素,返回值是插入后的長度
.indexOf(元素值); //返回的是索引,沒有則是-1
.join("字符串"); //返回的是一個字符串
.reverse(); //反轉數組
.sort(); //排序
.slice(開始,結束); //把截取的數組的值放在一個新的數組中,但是不包含結束的索引對應的元素值
.splice(開始,要刪的個數,替換的值); //一般是用于刪除數組中的元素,或者是替換元素,或者是插入元素
Math 對象 :
Math對象的靜態方法:
Math.PI ---π---
Math.sqrt() ---取平方根---
Math.pow(a,b) ---a的b次方---
Math.E ---自然常數---
Math.abs() ---絕對值---
Math.ceil() ---向下取整---
Math.floor() ---向上取整---
Math.Max() ---取最大值---
Math.Min() ---取最小值---
Math.random() ---取0-1之間隨機值(不包括1)---
Date 對象
Date對象的靜態方法:
Date.now() //獲取當前時間Date對象的實例方法:
.getFullYear() //獲取年份
.getMonth() //獲取月份從0開始
.getDate() //獲取日
.getHours() //獲取小時
.getMinutes() //獲取分鐘
.getSeconds() //獲取秒數
.getDay() //獲取星期數
.toLocaleDateString() //"2019/1/25"
.toLocaleTimeString() //"下午2:20:26"
.valueOf() //1548397226024
.toString() //"Fri Jan 25 2019 14:20:26 GMT+0800 (中國標準時間)"
String 對象
字符串可以看作是由很多字符組成的數組,字符串有不可變的特性,字符串的值之所以看起來是改變的,那是因為指向改變了,并不是真的值改變了。字符串的常用屬性:
.length 字符串長度
.charAt(索引) //返回值是指定索引位置的字符串,超出索引,結果是空字符串
.concat(字符串1,字符串2,...); //返回的是拼接之后的新的字符串
.indexOf(要找的字符串,開始的索引值); //返回的是這個字符串的索引值,沒找到則返回-1
.lastIndexOf(要找的字符串); //從后向前找,但是索引仍然是從左向右的方式,找不到則返回-1
.replace("原來的字符串","新的字符串");//用來替換字符串的
.slice(5,10); //從索引5的位置開始提取,到索引為10的前一個結束,沒有10,并返回這個提取后的字符串
.split("字符串",切割后留下的個數); //切割字符串
.substr(開始的位置,個數); //返回的是截取后的新的字符串
.substring(開始的索引,結束的索引) //返回截取后的字符串,不包含結束的索引的字符串
.toLowerCase(); //轉小寫
.toLocaleUpperCase() 轉大寫
.toUpperCase(); //轉大寫
.trim(); //干掉字符串兩端的空格
分為全局作用域和局部作用域,根據所在的作用域不同,變量又分為全局變量和局部變量。此外,還有塊級作用域,被"{ }"包裹就可以看成一個塊,其實的變量定義,使用var 定義可以被外部使用, 使用 const、let 不可以被外部使用。
局部變量在函數作用域銷毀時,就會被釋放,而全局變量一旦被創建,就不會被釋放,除非頁面關閉(但是隱式全局變量可以被銷毀,沒有使用var聲明的全局變量)。
在所有作用域創建的時候,js引擎會有一個處理,預解釋,它所做的事,就是提前把所有的變量聲明了,所有的函數聲明并定義了(所以你可以在定義函數之前來調用這個函數)。
預解釋中的變量提升,只會提升到當前作用域的最前面,而不是其他作用域。
預解析會分段(多對的script標簽中函數重名,預解析的時候不會沖突)。
JSON對象:一組無序屬性的集合的鍵值對,屬性的值可以是任意類型,這就是對象。JSON也是一個對象,數據都是成對的,一般json格式的數據無論是鍵還是值都是用雙引號括起來的。
JSON對象擁有兩個方法,parseInt() (將字符串轉換為JSON對象)和 stringify() (將JSON對象轉換為字符串),這兩個一般用于 數據存儲或者與后臺交互。
遍歷對象:
for(var key in json ){ console.log(key +"===========" + json[key]); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108975.html
摘要:聲明聲明本篇內容梳理自以下幾個來源網站的文檔中文網感謝大佬們的分享。這個時候,預處理器就出現了,其實應該是說和這類語言出現了。聲明 本篇內容梳理自以下幾個來源: Github:smyhvae/web Bootstrap網站的 less 文檔 Sass中文網 感謝大佬們的分享。 正文-CSS預處理(less&Sass) CSS預處理 什么是 CSS 預處理?為什么要有 CSS 預處理? 這...
摘要:個人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現在已經一年的時間了,由于工作比較忙,更新緩慢,后面還是會繼更新,現將已經寫好的文章整理一個目錄,方便更多的小伙伴去學習。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個人前端文章整理 從最開始萌生寫文章的想法,到著手...
摘要:題目使用能得到哪些類型和的選擇中有哪些內置函數變量按存儲方式分為哪些類型,并描述其特點如何理解知識點值類型和引用類型值類型引用類型對象,數組,函數值類型直接把值存儲在堆中,把賦值給在內存中是又給開辟了一塊新的空間,存儲了同樣的值。 1.題目 1.JS使用typeof能得到哪些類型 === 和 == 的選擇 JS中有哪些內置函數 JS變量按存儲方式分為哪些類型,并描述其特點 如何理解J...
摘要:面向對象編程對象的原生方法分成兩類自身的方法靜態方法和的實例方法。的靜態方法方法與,參數是對象,返回一個數組,數組的值是改對象自身的所有屬性名區別在于返回可枚舉的屬性,返回不可枚舉的屬性值。 面向對象編程 Objects對象的原生方法分成兩類:Object自身的方法(靜態方法)和Object的實例方法。注意Object是JavaScript的原生對象,所有的其他對象都是繼承自Objec...
閱讀 1002·2021-09-30 09:58
閱讀 2829·2021-09-09 11:55
閱讀 2001·2021-09-01 11:41
閱讀 991·2019-08-30 15:55
閱讀 3350·2019-08-30 12:50
閱讀 3495·2019-08-29 18:37
閱讀 3295·2019-08-29 16:37
閱讀 2011·2019-08-29 13:00