js基礎知識總結(一)

2021-08-24 23:33:37 字數 3792 閱讀 1381

ecmascript(es) : 負責翻譯,為js的核心,直譯器。

dom (document object model 文件物件模型):賦予js操作html的能力,document。

bom (browser object modal 瀏覽器物件模型):賦予js操作瀏覽器的能力,window,不相容不建議使用。

5種基本型別:unll,undefined,boolean,number,string

1種複雜型別:object

5種引用型別:array,object,function,date,regexp

3種基本包裝型別:boolean,number,string

2種單體內建物件:global,math

undefined:沒有定義的變數,var宣告沒有初始化的變數

typeof 可檢視變數型別,乙個變數應只存乙個型別的資料。

var a = 12;

// console.info(typeof a); number

a = 'dwefeyui';

// console.info(typeof a); string

a = true;

// console.info(typeof a); boolean

a = function();

// console.info(typeof a) function

a = document;

// console.info(typeof a); object

var b;

// console.info(typeof b); undefined

// 1.真的未定義

// 2.雖然定義但是沒有給東西

parseint() 可將字串轉換為數字(整數),parsefloat()可將字串轉換為數字(小數);

var a = 'abc', b = '20.5632';

// console.info(parseint(a));      nan    

// console.info(parseint(b));      20

var a = '3.5'; 

console.info(parsefloat(a));       

isnan() 判斷該元素是否為nan,nan表示(not a numer),兩個nan之間不相等;

雙等 ==  先轉換型別,再進行比較;(值相等,等式成立)

三等===   不轉換型別,直接比較;(值和型別必須相等,等式成立)

var a = 5;

var b = '5';

// console.info(a==b);      true

//  console.info(a===b);     //false

減法也可做隱式型別轉換,但加法不行。

var a = '12';

var b = '5';

// console.info(a+b);    //125

// console.info(a-b);       //7

區域性變數:只能在定義他的函式裡面使用;

全域性變數:在任何地方都能用;

閉包:子函式可以使用父函式的區域性變數。

匈牙利命名法:型別字首(僅給變數取名時需要),首字母大寫 

運算子+加、-減、*乘、/除,%求模(餘數)。(隔行變色,秒轉時間)

賦值=、+=、-=、*=、/=、%=。(i+=1等效於i=i+1)

邏輯&&並且、||或者、!否;運算優先順序:括號;

程式流程控制

判斷:if、switch、?:三元目()運算子

switch (變數) ;

條件?語句1:語句2;

迴圈:for、while;跳出:break(中斷整個迴圈)、continue(中斷本次迴圈);

真和假真(true):非0數字、非空字串、非空物件

假(false):數字0、空字串、null(空物件)、undefined

json

和陣列的區別:陣列用 [ ],下標為數字,有length,故迴圈時採用0 - length這種方法;

json用 ,下標為字串,沒有length,故迴圈時用for in這種方法;

var json = ;

var arr = [12,5,'add'];

//可像變數一樣操作

console.info(json.a); 

for(var i = 0;iconsole.info('第' + i + '個東西' + json[i]);

}     

for(var i in json)

將函式返到函式外面,為函式的執行結果,可做運算,乙個函式應該只返回一種值。

function show(a,b)

console.info(show(3,5));  

arguments [ ] (可變參,不定參):引數個數可變,為乙個陣列。

css中傳兩個引數為獲採樣式,三個引數為設定樣式,一般給引數取名,增加可讀性。

function css (obj,name,value)else 

}window.onload = function()

getcomputedstyle () 用於獲取非行間樣式(firefox、chrome、safari)、

currenstyle ()   也可(ie、opera),style用於獲取行間樣式。相容性問題通常用if else處理

將需要多次用到的函式進行封裝方便呼叫。

function getstyle(obj,name)else

}window.onload = function()

上述getstyle()只能用於取單一的樣式,如:width,height;無法取出border等含有多個元素的樣式,

需寫成border-color等樣式。

有兩種寫法,一般採用第乙個

var a = [1,2,3];

var a = new array(1,2,3);

屬性:length,可以用於獲取陣列長度,也可設定,乙個陣列中應該只存一種資料型別。

新增,刪除元素:push(),從尾部新增;unshift(),從頭部新增;pop(),從尾部刪除;shift(),從頭部刪除;

刪除 splice(起點,長度);插入/替換 splice(起點,長度,元素)。

var arr = [1,2,3,4,5,6];

// arr.splice(2,3);

arr.splice(2,0,'a','b'); 

console.info(arr);

陣列連線:concatt ( ); 分隔符:join ( ) ;

var a = [1,2,3];

var b = [4,5,6];

console.info(a.concat(b));

var arr = [1,2,3,4,5,6];

console.info(arr.join('--'));

陣列排序:sort ( ) ,但通常將陣列當做字串來比較,導致排序數字時亂序。

js基礎知識總結

作為梳理的目錄 移動端開發相關 框架和工具相關 vue資料繫結原理 vue父子元件和兄弟元件的通訊問題 vuex的原理 vuex的action和mutation的非同步操作和同步操作問題 vue的事件監聽 vue router獲取自定義引數 vue router的go相關 vue元件設計相關 模組化...

js基礎知識總結(全)

1.js版helloworld 2.注釋 單行 多行 3.操作符 數值一樣 型別和數值都一樣 4.邏輯運算子 5.定義變數 弱型別 var num 1 var string 我是中國人 var myboolean true 6.方法 用function定義 7.流程控制語句 if else whil...

js基礎知識入門總結

1 第乙個js程式 乙個專案包括三部分 前端 html css js 資料庫 後端技術 引入方式 頁面中直接寫,script標籤引入 js事件繫結 input type button value 按鈕 onclick myclick input type button value 按鈕 id btn...