成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端知識(shí)點(diǎn)總結(jié)——JS基礎(chǔ)

wangbjun / 3200人閱讀

摘要:語法常量名值常量名在程序中,通常采用大寫形式。結(jié)果為類型作用表示使用的數(shù)據(jù)不存在類型只有一個(gè)值即當(dāng)聲明的變量未賦值未初始化時(shí),該變量的默認(rèn)值就是類型用于表示不存在的對(duì)象。結(jié)果為按位或,對(duì)小數(shù)取整將任意小數(shù)與做按位或,結(jié)果則取整數(shù)部分。

前端知識(shí)點(diǎn)總結(jié)——JS基礎(chǔ) 1.javascript概述(了解)

1.什么是javascript

javascript簡(jiǎn)稱為js,是一種運(yùn)行于js解釋器/引擎中的腳本語言
js的運(yùn)行環(huán)境:
1.獨(dú)立安裝的js解釋器(node)
2.嵌入在瀏覽器內(nèi)核中的js解釋器

2.js的發(fā)展史

1.1992年Nombas公司為自己開發(fā)了一款腳本語言SciptEase
2.1995年Netscape(網(wǎng)景)開發(fā)了一款腳本語言LiveScrpt,后來更名javascript
3.1996年Microsoft在IE3.0版本中克隆javascript,JScript
4.1997年,javascript提交給ECMA(歐洲計(jì)算機(jī)制造商聯(lián)合會(huì))。定義ECMAScript,簡(jiǎn)稱ES5,ES6

3.js組成部分

1.核心(ECMAScript)
2.DOM (Document object model)文檔對(duì)象模型
3.BOM (Browser object model)瀏覽器對(duì)象模型

4.js的特點(diǎn)

1.語法類似于c,java
2.無需編譯,由js解釋器直接運(yùn)行
3.弱類型語言
4.面向?qū)ο蟮?
2.JavaScript的基礎(chǔ)語法

1.使用javascript

1.搭建運(yùn)行環(huán)境
  1.獨(dú)立安裝的JS解釋器-NodeJS
    1.在命令行界面:輸入node
  console.log("你好,世界");
  在控制臺(tái)打印輸出
  說明:js是可以獨(dú)立在js解釋器中運(yùn)行
2.使用瀏覽器內(nèi)核中嵌的js解釋器
  瀏覽器內(nèi)核負(fù)責(zé)頁面內(nèi)容的渲染,由兩部分組成:
     內(nèi)容排版引擎-解析:HTML/CSS
     腳本解釋引擎-解析:javascript
 1.直接在Console(控制臺(tái))中輸入腳本并運(yùn)行
 2.將js腳本嵌入在HTML頁面中執(zhí)行
   1.html元素的事件中執(zhí)行js腳本
      事件-onclick-鼠標(biāo)單擊時(shí)要執(zhí)行的操作
   2.在
      
 3.js調(diào)試,F(xiàn)12查看錯(cuò)誤,出錯(cuò)時(shí)不影響其它代碼塊,后續(xù)代碼繼續(xù)執(zhí)行。
   
      
    3.通過語法規(guī)范
  1.語句:可執(zhí)行的最小單元
          必須以;結(jié)束
      嚴(yán)格區(qū)分大小
      所有的符號(hào)必須是英文
      2.注釋:
    // :單行注釋
    /**/:多行注釋
3.變量和常量

1.變量聲明

1.聲明變量
  var 變量名;
2.為變量賦值
  變量名=值;
3.聲明變量是直接賦值
  var 變量名=值;
  ex:
  var uname="張無忌";
  var age=20;
 注意:
   1.允許在一條語句中聲明多個(gè)變量,用逗號(hào)隔開變量名。
     var uname="韓梅梅",uage=20;
   2.如果聲明變量,但未賦值,則值默認(rèn)為undefined
   3.聲明變量時(shí)可以不適用var,但不推薦
     uname="tom";

2.變量名的規(guī)范

1.不允許以數(shù)字開頭
2.不允許使用關(guān)鍵詞和保留關(guān)鍵字
3.最好見名知意
  var uname; var uage;
4.允許包含字母,數(shù)字,下劃線(_),$
  var $name="Tom";
5.盡量使用小駝峰命名法
  var userName;
  var uname;
  var _uname;//下劃線
  var user_name;//下劃線
  var UserName;//大駝峰命名法
4.變量的使用
1.聲明變量未賦值,值默認(rèn)為undefined
2.使用未聲明過的變量 報(bào)錯(cuò)
3.賦值操作
  變量名出現(xiàn)在=的左邊,一律是賦值操作
    var uname="林妹妹";
4.取值操作
  變量只要沒出現(xiàn)在=的左邊,一律是取值操作
    var uage=30;
console.log(uage);
var num1=uage;

5.常量
1.什么是常量
  在程序中,一經(jīng)聲明就不允許被修改的數(shù)據(jù)就是常量。
2.語法
  const 常量名=值;
  常量名在程序中,通常采用大寫形式。
  const PI=3.1415926;

5.1數(shù)據(jù)類型

1.數(shù)據(jù)類型的作用

規(guī)定了數(shù)據(jù)在內(nèi)存中所占的空間
10.1 64位 8個(gè)字節(jié)
bit:位
8bit=1byte字節(jié)
1024byte=1KB 
1024KB=1MB
1024MB=1G 
1024G=1T

2.數(shù)據(jù)類型詳解

1.數(shù)據(jù)類型分兩大類
  原始類型(基本類型)
  引用類型
  1.原始類型
    1.Number 類型
  數(shù)字類型
  作用:可以表示32位的整數(shù),也可以表示64位的浮點(diǎn)數(shù)(小數(shù))
  整數(shù):
     1.十進(jìn)制
       10 
     2.八進(jìn)制
       由0-7八個(gè)數(shù)字組成,逢八進(jìn)一
       八進(jìn)制中以0開始
       var num=010;
     3.十六進(jìn)制
       由0-9和A-f組成,逢十六進(jìn)一
          A:10
      B:11
      C:12
      D:13
      E:14
      F:15
       十六進(jìn)制中以0X開始
      浮點(diǎn)數(shù):又稱小數(shù)
    小數(shù)點(diǎn)計(jì)數(shù)法:12.58  
    指數(shù)計(jì)數(shù)法:3.4e3(3.4*10的3次方)
2.String類型
  字符串類型
  作用:表示一系列的文本字符數(shù)據(jù),如:姓名,性別,住址...
  字符串中的每個(gè)字符,都是由Unicode碼的字符,標(biāo)點(diǎn)和數(shù)字組成。
  Unicode碼:每個(gè)字符在計(jì)算機(jī)中都有一個(gè)唯一的編碼表示該字符,
  該碼就是unicode碼(他是十六進(jìn)制)
     1.查找一個(gè)字符的unicode碼:
     "李".charCodeAt();
     //10進(jìn)制輸出

     "李".charCodeAt().toString(2);
     //二進(jìn)制輸出

     "李".charCodeAt().toString(16);
     //十六進(jìn)制

       李的unicode碼是:674e
     2.如何將674e轉(zhuǎn)換為漢字?
        用u
       ex:
        var str="u674e";
    console.log(str);//結(jié)果是“李”

    漢字的Unicode碼的范圍:
    u4e00~u9fa5
     3.特殊字符需要轉(zhuǎn)義字符
       
: 換行
       	: 制表符(縮進(jìn))
       ": "
       ": "
       : 
3.Boolean類型
  布爾類型
  作用:在程序中表示真或假的結(jié)果
  取值:
     true或false
  var isBig=true;
  var isRun=false;
  在參與到數(shù)學(xué)運(yùn)算時(shí),true可以當(dāng)成1做運(yùn)算,false可以當(dāng)做0做運(yùn)算。
  var res=25+true; //結(jié)果為26
    4.Undefined類型
  作用:表示使用的數(shù)據(jù)不存在
  Undefined類型只有一個(gè)值,即undefined當(dāng)聲明的變量未賦值(未初始化)時(shí),
  該變量的默認(rèn)值就是undefined.
5.Null類型
  null用于表示不存在的對(duì)象。
      Null類型只有一個(gè)值,即null,如果函數(shù)或方法要返回的是對(duì)象,
      找不到該對(duì)象,返回的就是null。

5.2數(shù)據(jù)類型的轉(zhuǎn)換
1.隱式(自動(dòng))轉(zhuǎn)換
  不同類型的數(shù)據(jù)在計(jì)算過程中自動(dòng)進(jìn)行轉(zhuǎn)換
  1.數(shù)字+字符串:數(shù)字轉(zhuǎn)換為字符串
    var num=15;
var str="Hello";
var res=num+str; //結(jié)果:15Hello
  2.數(shù)字+布爾:將布爾轉(zhuǎn)換為數(shù)字true=1,false=0
    var num1=10;
var isSun=true;
var res1=num1+isSun;//結(jié)果:11
  3.字符串+布爾:將布爾轉(zhuǎn)換為字符串
    var str1="Hello";
var isSun1=true;
var res2=str1+isSun1;//結(jié)果:Hellotrue
  4.布爾+布爾:將布爾轉(zhuǎn)換為數(shù)字
    true=1,false=0;
    var isSun2=true;
var isSun3=flase;
var res=isSun2+isSun3;//結(jié)果1
2.強(qiáng)制轉(zhuǎn)換 -轉(zhuǎn)換函數(shù)
  1.toString()
    將任意類型的數(shù)據(jù)轉(zhuǎn)換為字符串
語法:
  var num=變量.toString();
  ex:
  var num=15;
  var str=num.toString();
  console.log(typeof(str));
  2.parseInt()
    將任意類型的數(shù)據(jù)轉(zhuǎn)換為整數(shù)
如果轉(zhuǎn)換不成功,結(jié)果為NaN(Not a Number)
語法:var result=parseInt(數(shù)據(jù));
  3.parseFloat()
    將任意類型的數(shù)據(jù)轉(zhuǎn)換為小數(shù)
如果轉(zhuǎn)換不成功,結(jié)果為NaN
語法:var result=parseFloat(數(shù)據(jù));
  4.Number()
    將任意類型數(shù)據(jù)轉(zhuǎn)為Number類型
注意:如果包含非法字符,則返回NaN
語法:var result=Number(數(shù)據(jù));

6.運(yùn)行符和表達(dá)式

1.什么是表達(dá)式

由運(yùn)算符連接操作數(shù)所組成的式子就是表達(dá)式。
ex:
  15+20
  var x=y=40
任何一個(gè)表達(dá)式都會(huì)有結(jié)果。

2.運(yùn)算符

1.算術(shù)運(yùn)算符
  +,-,*,/,%,++,--

  5%2=1;
  ++:自增運(yùn)算,只做+1操作
  ++在前:先自增,再運(yùn)算;
  ++在后:先運(yùn)算,再自增;
  ex:
    var num=5;
console.log(num++);//打印5,變?yōu)?
console.log(++num);//變?yōu)?,打印7

ex:
    var num=5;
             5   (6)6   6(7)    (8)8
    var res=num+ ++num +num++ + ++num +num++ +num;  
  8(9)   9
結(jié)果:42
2.關(guān)系運(yùn)算符(比較)
  >,<,>=,<=,==,===(全等),!=,!==(不全等)
  關(guān)系運(yùn)算的結(jié)果:boolean類型(true,false)
  問題:
    1. 5 > "10" 結(jié)果:false
   關(guān)系運(yùn)算符兩端,只要有一個(gè)是number的話,另外一個(gè)會(huì)隱式轉(zhuǎn)換為number類型,再進(jìn)行比較。
2."5">"1 0" 結(jié)果:true
  "5".charCodeAt(); //53
  "1".charCodeAt(); //49
  "張三豐" > "張無忌" 結(jié)果:false
    19977  >   26080
3."3a" > 10 結(jié)果:false
  Number("3a")--->NaN
  注意:
    NaN與任何一個(gè)數(shù)據(jù)做比較運(yùn)算時(shí),結(jié)果都是false.
    console.log("3a">10); false
    console.log("3a"==10); false
    console.log("3a"<10); false
    isNaN()函數(shù):
       語法:isNaN(數(shù)據(jù));
       作用:判斷指定數(shù)據(jù)是否為非數(shù)字,如果不是數(shù)字,返回值為true,是數(shù)字的話返回的值為false
       console.log(isNaN("3")); //false
       console.log(isNaN("3a")); //ture 

       console.log("3a"!=10);//true
3.邏輯運(yùn)算符
  !,&&,||

  !:取反
  &&:并且,關(guān)聯(lián)的兩個(gè)條件都為true,整個(gè)表達(dá)式的結(jié)果為true
  ||:或者,關(guān)聯(lián)的兩個(gè)條件,只要有一個(gè)條件為true,整個(gè)表達(dá)式的結(jié)果就為true

  短路邏輯:
     短路邏輯&&:
     當(dāng)?shù)谝粋€(gè)條件為false時(shí),整體表達(dá)式的結(jié)果就為false,不需要判斷第二個(gè)條件
     如果第一個(gè)條件為true,會(huì)繼續(xù)判斷或執(zhí)行第二個(gè)條件
 短路邏輯||:
     當(dāng)?shù)谝粋€(gè)條件為true時(shí),就不再執(zhí)行后續(xù)表達(dá)式,整體結(jié)果為true。
     當(dāng)?shù)谝粋€(gè)條件為false時(shí),繼續(xù)執(zhí)行第二個(gè)條件或操作。

4.位運(yùn)算符
  <<,>>,&,|,^

  右移是把數(shù)變小,左移是把數(shù)變大
  &:按位與,判斷奇偶性
     任意數(shù)字與1做按位與,結(jié)果為1,則為奇數(shù),結(jié)果為0,則為偶數(shù)。
     var num=323;
 var result=num & 1
 console.log(result); //結(jié)果為1
  |:按位或,對(duì)小數(shù)取整
     將任意小數(shù)與0做按位或,結(jié)果則取整數(shù)部分。

  ^:按位異或,用于交換兩個(gè)數(shù)字
      二進(jìn)制位數(shù),逐位比較,不同則為1,相同則為0
   a=a^b;
   b=b^a;
   a=a^b;
5.賦值運(yùn)算符和擴(kuò)展賦值運(yùn)算符
  1.賦值運(yùn)算 =
    var uname="TOM";
  2.擴(kuò)展賦值運(yùn)算符
    +=,-=,*=,/=,%=,^=...
a=a+1 a+=1;a++;++a
a=a^b
a^=b
6.條件(三目)運(yùn)算符
  單目(一目)運(yùn)算符,只需要一個(gè)操作數(shù)或表達(dá)式
  ex: a++,b--,!isRun
  雙目(二元)運(yùn)算符,需要兩個(gè)操作數(shù)或表達(dá)式
   +,-,*,/,%,>,<,>=,<=,==,!=,===,!==,&&,||,&,|,^
  三目(三元)運(yùn)算符,需要三個(gè)操作數(shù)或表達(dá)式
     條件表達(dá)式?表達(dá)式1:表達(dá)式2;
        先判斷條件表達(dá)式的值,
    如果條件為true,則執(zhí)行表達(dá)式1的操作
    如果條件為false,則執(zhí)行表達(dá)式2的操作
  ex:成績(jī)大于60及格,否則,輸出不及格
 
7.函數(shù)-function

1.什么是函數(shù)

函數(shù),function,也稱為方法(method)
函數(shù)是一段預(yù)定義好,并可以被反復(fù)執(zhí)行的代碼塊。
   預(yù)定義:提前定義好,并非馬上執(zhí)行。
   代碼塊:可以包含多條可執(zhí)行的語句
   反復(fù)執(zhí)行:允許被多次調(diào)用
函數(shù)-功能
   parseInt();
   parseFloat();
   Number();
   console.log();
   alert();
   document.write();

2.定義和使用函數(shù)

1.普通函數(shù)的聲明和調(diào)用(無參數(shù)無返回值)
  1.聲明
    function 函數(shù)名(){
   //函數(shù)體
     若干可執(zhí)行的語句
  
}
  2.調(diào)用函數(shù)
    在任意javascript合法的位置處通過 函數(shù)名(); 對(duì)函數(shù)進(jìn)行調(diào)用。
 

2.帶參函數(shù)的聲明和調(diào)用
  1.聲明
    function 函數(shù)名(參數(shù)列表){
   //函數(shù)體
}
參數(shù)列表:可以聲明0或多個(gè)參數(shù),多個(gè)參數(shù)間用逗號(hào)隔開
聲明函數(shù)時(shí),聲明的參數(shù),稱之為“形參”
 2.調(diào)用
   函數(shù)名(參數(shù)值列表);
   注意:調(diào)用函數(shù)時(shí),傳遞的參數(shù)數(shù)值,稱之為“實(shí)參”。
         盡量按照聲明函數(shù)的格式進(jìn)行調(diào)用
3.帶返回值函數(shù)聲明和調(diào)用
  1.聲明
    function 函數(shù)名(參數(shù)){
   //函數(shù)體
   return 值;
   //return關(guān)鍵字,程序碰到return關(guān)鍵詞,就立馬跳出并且把值帶出去
}
注意:最多只能返回一個(gè)值
  2.調(diào)用
    允許使用一個(gè)變量接收函數(shù)的返回值
    var result=函數(shù)名(實(shí)參);

8.作用域
1.什么是作用域
  作用域表示的是變量或函數(shù)的可訪問范圍。
  JS中的作用域分兩種:
     1.函數(shù)作用域
   只在函數(shù)范圍內(nèi)有效
 2.全局作用域
   代碼的任何位置都有效

2.函數(shù)作用域中變量

 又稱為局部變量,只在聲明的函數(shù)中有效
 ex:
   function test(){
     var num=10;
   }
   

3.全局作用域中的變量

 又稱為全局變量,一經(jīng)聲明,任何位置都能用
 1.不在function中聲明的變量,為全局變量
 2.聲明變量不使用var,無論任何位置聲明,都是全局變量(不推薦)

 注意:
   全局變量和局部變量沖突時(shí),優(yōu)先使用局部變量。
 3.變量的聲明提前
   1.什么是聲明提前
     在JS程序正式執(zhí)行之前,function聲明的函數(shù),
     會(huì)將所有var聲明的變量,都預(yù)讀(聲明)到所在作用域的頂部,但賦值還是保留在原位。
  
9.按值傳遞

1.什么是按值傳遞

原始(基本)類型的數(shù)據(jù)(number,string,bool),在做參數(shù)傳遞時(shí),
都是按照“值傳遞”的方式進(jìn)行傳參的。
值傳遞:真正傳遞參數(shù)時(shí),實(shí)際上傳遞的是值的副本(復(fù)制出來一個(gè)值),
而不是原始值。

2.函數(shù)的作用域

1.分為兩種
  1.局部函數(shù)
    在某個(gè)function中聲明的函數(shù)。
  2.全局函數(shù)
    在最外層(                
閱讀需要支付1元查看
<