day06

今天學(xué)了什么

1.JavaScript簡介

1.簡介

A.誕生的背景
1995年網(wǎng)景公司開發(fā)的
開發(fā)目的:受制于當(dāng)時的帶寬,做表單驗證
97年被提交給ECMA,98年獲取ISO認(rèn)證

B.功能
a.數(shù)據(jù)處理
b.用戶交互
c.服務(wù)器端開發(fā)

2.JavaScript組成

組成.png

3.JavaScript語法

1.注釋
//單行注釋
/**/多行注釋

2.什么是標(biāo)示符
變量,函數(shù),屬性的名字,或者函數(shù)的參數(shù)。
標(biāo)示符的命名規(guī)則:
a.由字母,數(shù)字,下劃線(_)或美元符號($)組成
b.不能以數(shù)字開頭
c.不能使用關(guān)鍵字,保留字作為標(biāo)示符

3.1 變量

ECMAScript的變量是松散類型
松散類型:可以用來保存任何類型的數(shù)據(jù)

什么是變量? 從字面上看,變量是可變的量;
從編程角度講,JavaScript變量是存儲數(shù)據(jù)值的容器。

如何使用:聲明 賦值 取值
//var a;使用var關(guān)鍵字進(jìn)行聲明
//= 使用等于號進(jìn)取賦值
a.變量可以先聲明,再賦值
b.也可以聲明的同時賦值

4.數(shù)據(jù)類型的分類

4.1原始類型:

number,string,boolean,undefined,null

a.number

var a =10,b=20.1;

b.string

用單引號或雙引號包裹的叫string類型
var c= “hello world”;
var c = 'good';

c.boolean

只有兩個值true或false

d.undefined

var a;
一個變量之聲明未賦值就是undefined

e.null

1.null值表示一個空對象
2.如果定義的變量準(zhǔn)備在將來用來保存對象,那么最好將改變量初始化null而不是其他值
使用typeof操作符來識別基本類型

4.2 引用數(shù)據(jù)類型:

array,object,function

a.array

a1.聲明變量

var arr = [1,2,3,4]

a2.獲取數(shù)組的長度

arr.length

a3.讀取數(shù)組的值(數(shù)組的下標(biāo)從0開始)

arr[index]

a4.向數(shù)組的末尾添加值

arr[arr.length]=5;

b.object

b1.聲明對象

var chengchao = {
name:”chengchao”,
age:20
}

b2.讀取變量的屬性

console.log(chengchao.name);

c.function

定義:封裝特點功能的代碼塊

c1.聲明函數(shù)

function a(){

console.log(“hello world”)      

}

c2.調(diào)用函數(shù)

a();

5.聲明提前

在正式執(zhí)行腳本之前,將所有var聲明的變量,提前預(yù)讀到(當(dāng)前作用域的)頂部,集中聲明創(chuàng)建。
然后再開始執(zhí)行程序。
***賦值留在本地。
eg:
console.log(a); //undefined
var a=10;

6.typeof instanceof

var a = 1;
console.log(typeof a) //number
var arr = [1,2,3];
console.log(arr instanceof Object) //true

7.全局變量和局部變量

全局變量:在函數(shù)外聲明的變量
局部變量:在函數(shù)內(nèi)部聲明的變量

8.數(shù)據(jù)類型的轉(zhuǎn)換

8.1自動轉(zhuǎn)換

不需要程序員干預(yù),js自動完成的類型轉(zhuǎn)換
算數(shù)計算中的自動轉(zhuǎn)換:

A.算數(shù)計算中,數(shù)據(jù)都默認(rèn)轉(zhuǎn)為數(shù)字,再計算,不能轉(zhuǎn)為數(shù)字則為NaN
Boolean類型:true-->1 false-->0
eg:
var a=1;
var b=true;
var c = "hello world";
console.log(a+b); //2
console.log(a-c); //NaN

B.特殊+運(yùn)算中,碰到字符串,+就變?yōu)樽址唇?br> 另一個不是字符串的數(shù)據(jù),被自動轉(zhuǎn)為字符串
比較運(yùn)算(>,<,>=,<=,==,!=)中的自動轉(zhuǎn)換:
默認(rèn)將所有類型轉(zhuǎn)為數(shù)字再比較
將兩個值做比較-->返回值:true、false

8.2強(qiáng)制轉(zhuǎn)換
8.2.1轉(zhuǎn)number
a.非字符串類型轉(zhuǎn)數(shù)字
        Number(x)  
        eg:
        var a ="20";
        console.log(Number(a)) //只能識別這樣的字符串 
b. 將字符串轉(zhuǎn)為數(shù)字:2個API

parseInt(str):
從第一個字符開始依次讀取每個數(shù)字,只要碰上第一個非數(shù)字字符 就停止,自動跳過開頭的空字符

         var width="20px";
         console.log(Number(width)) //NaN
         console.log(parseInt(width)) //20  
         parseFloat(str):用法同parseInt
         比較Number()和parseInt()
         var b=true;
         console.log(Number(b)) //1
         console.log(parseInt(String(b))) //NaN          
         parseFloat(str):用法同parseInt 
         比較Number()和parseInt() 
         var b=true; 
         console.log(Number(b)) //1 
         console.log(parseInt(String(b))) //NaN 
8.2.2轉(zhuǎn)字符串

x.toString();
x不是undefined或null時,才可用
String(x)

8.2.3轉(zhuǎn)boolean

Boolean: Boolean(x)
只有5個值轉(zhuǎn)為false:
"" NaN undefined null 0
其余都轉(zhuǎn)為true

9.運(yùn)算符和表達(dá)式

9.1算術(shù)運(yùn)算

+,-,*,/,%,++,--

9.2比較運(yùn)算

將兩個值做比較
返回值:true、false
,<,>=,<=,==,!=
關(guān)系運(yùn)算中:
a. 默認(rèn)將所有類型轉(zhuǎn)為數(shù)字再比較
特殊情況
A.NaN:NaN不等于,不大于,不小于任何值(包括自己)
NaN和任何數(shù)據(jù)做!=比較時,始終返回true
isNaN(n):本意是判斷一個值是否是NaN

10.3邏輯運(yùn)算:

將多個關(guān)系運(yùn)算綜合起來,得出最終結(jié)論,返回值:true、false
&& || !

10.4賦值運(yùn)算:

+= -= *= /= %=

10.5三目運(yùn)算

var a=(10>4)?10:4;

11.遞增

a++和++a;

1.單獨使用a都會加一
>eg:
>var a=10;
.a++ 
>console.log(a); //a
2.在表達(dá)式中使用

前加加,a自增后運(yùn)算
后加加,a先運(yùn)算后自增

var a=10;
var b;
b=a++;
console.log(b) //10;

12.控制語句

1.條件判斷
var age = 20;
if (age >= 18) { // 如果age >= 18為true,則執(zhí)行if語句塊
    alert('成年人');
} else { // 否則執(zhí)行else語句塊
    alert('未成年人');
}
2.多行條件判斷

Tip:最大的條件放前面

var age = 3;
if (age >= 18) {
    alert('成年人');
} else if (age >= 6) {
    alert('少年');
} else {
    alert('小孩');
}
3.switch結(jié)構(gòu)

多個if...else連在一起使用的時候,可以轉(zhuǎn)為使用更方便的switch結(jié)構(gòu)。

var x = 1;
    switch (x) {
        case 1:
            console.log('x 等于1');
            break;
        case 2:
            console.log('x 等于2');
            break;
        default:
            console.log('x 等于其他值');
    }

13.循環(huán)語句

while(){}
eg:
var a=0;
    while(a<=10){
        //只要a<=10為true就一直循環(huán)
        console.log(a);
        a++;
    }
for循環(huán)
eg:
 for(var i=0;i<=10;i++){
        console.log(i)
    }

for...in...

var o = {
    name: 'Jack',
    age: 20,
    city: 'Beijing'
};
for (var key in o) {
    alert(key); // 'name', 'age', 'city'
}

13.1 break

達(dá)到條件,跳出循環(huán)

for(var i=0;i<10;i++){
            if(i==5){
                break;
            }
            console.log(i);  //0,1,2,3,4
}

13.2continue

結(jié)束本次循環(huán),繼續(xù)開始下一次

for(var i=0;i<5;i++){
    if(i==2){
    continue;
    }
    console.log(i);  //0,1,3,4
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,546評論 0 13
  • 《ijs》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 10...
    葉染柒丶閱讀 5,638評論 0 7
  • 標(biāo)簽: 我的筆記 ---學(xué)習(xí)資料:http://javascript.ruanyifeng.com/ 1. 導(dǎo)論 ...
    暗夜的怒吼閱讀 940評論 0 1
  • 懷揣著對大學(xué)的向往,我終于走進(jìn)了我奮斗了三年的大學(xué),雖然不盡人意,沒有考到我心儀的大學(xué),但這所大學(xué)也不錯。 軍訓(xùn)開...
    BridgeGee閱讀 343評論 0 2
  • 這是一篇廢話連篇的簡書,但可以幫助你解決進(jìn)來時所帶有的疑惑。 在開發(fā)過程中,通常會導(dǎo)致我們的button點擊失效的...
    胡潔川閱讀 1,376評論 0 0

友情鏈接更多精彩內(nèi)容