原生JS總結
阿新 • • 發佈:2022-03-22
getBoundingClientRect()用於獲得頁面中某個元素的左,上,右和下分別相對瀏覽器視窗的位置。
//該函式返回一個Object物件,該物件有6個屬性:top,lef,right,bottom,width,height; <div id="box"></div> var object=document.getElementById('box'); rectObject = object.getBoundingClientRect(); rectObject.top:元素上邊到視窗上邊的距離; rectObject.right:元素右邊到視窗左邊的距離; rectObject.bottom:元素下邊到視窗上邊的距離; rectObject.left:元素左邊到視窗左邊的距離; rectObject.width:是元素自身的寬 rectObject.height是元素自身的高
js中return;、return true、return false;區別
在大多數情況下,為事件處理函式返回false,可以防止預設的事件行為.例如,預設情況下點選一個<a>元素,頁面會跳轉到該元素href屬性指定的頁. Return False 就相當於終止符,Return True 就相當於執行符。 在js中return false的作用一般是用來取消預設動作的。比如你單擊一個連結除了觸發你的 onclick時間(如果你指定的話)以外還要觸發一個預設事件就是執行頁面的跳轉。所以如果 你想取消物件的預設動作就可以return false。 1.return false:相當於終止符,幹了3件事,阻止預設行為,取消事件冒泡,以及停止回撥執行立即返回; 2.return:停止回撥執行立即返回; 3.return true:相當於執行符,繼續執行下面語句。
將陣列轉換成陣列套物件
let arrList = [];
for (let i in this.subData.check_fences) {
var j = {};
j.fence_id = this.subData.check_fences[i]
arrList.push(j);
}
for迴圈去掉最後一個符號
for (let i = 0; i < this.ques_model.questionPoints.length - 1; i++) { this.html += this.ques_model.questionPoints[i].pointname + "|"; } this.html += this.ques_model.questionPoints[ this.ques_model.questionPoints.length - 1 ].pointname;
Object.assign方法
//Object.assign方法用於物件的合併,將源物件(source)的所有可列舉屬性,複製到目標物件(target)。Object.assign方法的第一個引數是目標物件,後面的引數都是源物件。(如果目標物件與源物件有同名屬性,或多個源物件有同名屬性,則後面的屬性會覆蓋前面的屬性)。
this.box={
a: 1,
b: 2
}
let data = {
c: 3,
a: 4
};
let baz = Object.assign(this.box, data);
console.log(baz); //a: 4,b: 2,c: 3
img圖片加載出錯處理 https://blog.csdn.net/milli236/article/details/78930720
設定頁面滾動高度
document.querySelector(".content_inner2").scrollTop = 0;
document.body.scrollTop = 0;
document.title="" 當前網頁的標題
表單驗證資料 同一欄位唯一
//這裡有個坑 通常資料比對的時候會把自身忘記,導致修改的時候自身資料沒有修改但是校驗報錯,這就是沒有把自身過濾掉,解決辦法就是比較ID不相等。
將一個數組分成多個數組
function group(array, subGroupLength) { let index = 0; let newArray = []; while(index < array.length) { newArray.push(array.slice(index, index += subGroupLength)); } return newArray; } 例如: var Array = [1,2,3,4,5,6,7,8,9,10,11,12];; var groupedArray = group(Array, 6); //得到的groupedArray 陣列為: groupedArray[[1,2,3,4,5,6],[7,8,9,10,11,12]]
字串方法
replace():新值替換字串中指定值。不會改變呼叫字串,返回新字串。
例:let str = 'hello, this is a beatiful day!'
注:1)預設替換首次出現的指定值。
例:let new2 = str.replace('is', 'at') // hello, that is a beatiful day!
若要替換所有出現的指定值,使用正則表示式(/g),全域性搜尋
例:let new3 = str.replace(/is/g, 'at') // hello, that at a beatiful day!
保留小數點後兩位
Math.floor(百分比 * 10000) / 100;
js 繫結事件
<!-- 第三種方式--> <button id="btn" onclick="threeFn()">點我</button> <script type="text/javascript"> var btn = document.getElementById("btn"); // 第一種 通過點選事件 btn.onclick = function(){ alert("這是第一種點選方式"); } // 第二種 監聽點選事件 btn.addEventListener('click', function(){ alert("這是第二中點選方式"); }) // 第三種 通過方法響應點選事件 function threeFn(){ alert("這是第三種點選方式"); } </script>
偽陣列轉真陣列
Array.from(arr)
console.log(Array.from(arr))
<embed> 標籤
<embed> 標籤定義嵌入的內容,比如外掛。 <embed src="helloworld.swf" />
FileReader的使用
//HTML5定義了FileReader作為檔案API的重要成員用於讀取檔案,根據W3C的定義,FileReader介面提供了讀取檔案的方法和包含讀取結果的事件模型。
https://blog.csdn.net/jackfrued/article/details/8967667
https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader
//多是用與上傳時 圖片預覽
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => {
const _base64 = reader.result;
that.tempUrl.loginname = _base64; //將_base64賦值給圖片的src,實現圖片預覽
};
抓包工具 Fiddler 使用介紹 https://blog.csdn.net/m0_53427919/article/details/116235806
isNaN,NaN詳細解釋
當Number碰到不能轉換的常量時,則會返回‘NaN’結果; NaN有一個專門的方法是isNaN,這個方法會判斷該常量是否為數字,如果是數字,返回false,如果不是,則返回true;當遇到像var a = '100';這樣是字串,但裡面的內容是數字,isNaN則會先呼叫Number方法,判斷a是否為數字,然後再判斷。 isNaN的用法:可以判斷是否為數字。 var arr=[100,2,"100",'abc']; for(i=0;i<arr.length;i++){ if(isNaN(arr[i])){ alert(arr[i]);//返回abc說明isNaN會會把“100”也轉換成數字 } }
介面獲取IP地址
<script src="//pv.sohu.com/cityjson?ie=utf-8"></script> window.returnCitySN = returnCitySN; logip: window.returnCitySN["cip"], logaddress: window.returnCitySN["cname"],