JavaScript零基礎學習第一天

1.JavaScript是什麼?

JavaScript是一種直譯式腳本語音,是一種動態的,弱類型的,基於原型的語言。
直譯式:直接編譯並執行
腳本:凡是不能獨立運行需要依賴其他程序的,通常都叫做腳本
在這裏插入圖片描述
動態類型:聲明一個類型,能夠隨時改變它的類型
弱類型:允許變量運算時進行隱式數據類型轉換
基於原型:原型的主要作用是繼承,對象之間的繼承,主要是靠原型鏈接

2.js能做什麼?

網頁前端開發(Javascript的老本行)
移動開發 webapp 混合式應用
網站後端開發(Node.js可以讓js在後端運行)
插件開發(由於js跨平臺這一特性,很多插件使用js進行開發,因爲一次開發可以保證跨平臺使用)
桌面開發(主要是指chrome瀏覽器能把js寫的程序打包成桌面應用)
遊戲開發 等等。。。

3.js的引入及運行

內部引入:在html文件中直接寫在script標籤內部

標籤內引入:直接寫在標籤內
按鈕
外部引入:在html文件中通過script標籤引入外部js文件

注:script標籤在哪裏都可以,爲了規範建議在前

4.js的數據類型

簡單數據類型:

string、number、boolean、undefined、null
number包括整型,浮點型,和NaN
NaN 即非數字值,是number類型中的一個特殊值
NaN 用於表示本來要返回一個數值的操作數,結果未能返回數值的情況(‘a’-1) (‘b’-3)
特點1:
任何涉及NaN的操作都爲NaN。
特點2:
NaN與任何值都不相等,包括自身

  • isNaN() 判斷值是否爲NaN,返回布爾值
  • parseInt() 解析一個字符串,並返回一個整數。也可將其他進制數字轉換爲十進制parseInt(數字或能解析成數字的字符串,進制數),十六進制時候abcdef只能是字符
  • parseFloat() 解析一個字符串,並返回一個浮點數
  • Number.toFixed(n) 方法可把 Number 四捨五入保留n位小數,返回字符串

boolean 類型,值爲布爾值
boolean類型有兩個值 : true 和 false

undefined 類型,表示值未定義
undefined類型只有一個特殊值爲 : undefined
var und;
聲明變量未賦值,這個變量的值就是undefined

null 類型,表示空
null類型只有一個特殊值爲 : null
如果變量準備在將來用於保存一個對象,那麼該變量最好初始化爲null

複雜數據類型:

object 類型,值爲對象類型
JS中 { } 表示對象,[ ] 表示數組,function 表示函數
var obj1=[1,2,3];
var obj2={‘name’:‘laowang’};
var obj3=function () { };

判斷數據類型:typeof()

// 判斷數據類型運算符 typeof 返回值有6種
字符串:
console.log( typeof str1 );//‘string’
數字:
console.log( typeof(num1) );//‘number’
布爾值:
console.log( typeof(boo1) );//‘boolean’
undefined:
console.log( typeof(und) );//‘undefined’
null:
console.log( typeof(nul) );//‘object’
數組
console.log( typeof(arr) );//‘object’
對象
console.log( typeof(obj) );//‘object’
函數
console.log( typeof(fun) );//‘function’

5.逗號、賦值、算術、關係、邏輯運算符

逗號運算符

  • 使用逗號運算符可以在一條語句中執行多個操作,如: var a = 1, b = 2, c = 3;

  • 返回整體的最後一個值 console.log( (a,b,c) );

賦值運算符
= “+=” “-=” "*= " “/=” “%=”

  • JS中的 ‘=’ 號並非數學計算中的’='號,而是賦值運算符 如:a = 5,應該理解爲,把5這個值,賦值給變量 avar a = 1;a += 5 --> a = a + 5;console.log(a);

算術運算符
加 減 乘 除 餘
“+” - * / %
取餘結果正負只與被取餘數有關
遞增和遞減運算符
++ 和 - -
1++ 表示值遞增加1
2- -表示值遞減減1
var i = 0;

  • ++i 表示先遞增,後取值
    即,a=++i,a=1,i=1
  • i++ 表示先取值,後遞增
    即a=i++,a=0,i=1

關係運算符

 >  <  ==  ===  >=  <=  !=  !==

關係運算符返回布爾值
等於 == 只比較值是否相等(忽略類型)
全等 === 先比較類型(內存地址),再比較值

  • 表達式兩側都是數值 --> 正常比較
  • 表達式兩側都是字符串 --> 正常比較(先比較第一個字符),比較字符的ASCII碼值,‘0’ – 48,‘A’ – 65,‘a’ –
    97
  • 表達式兩側有一側是純數字字符串,該字符串自動轉成數字,再進行比較
    兩側都是純數字字符串,依舊轉換成數字再進行比較
  • 表達式兩側有一側是非數字字符串,不能正常比較,所有非正常比較都返回 false

三元運算符(三目運算符):
Boolean ? express1 : express2;
var str = 3 > 4 ? ‘aaa’ : ‘bbb’;
條件成立執行冒號前的代碼,反之執行後面的代碼

優點:代碼少
缺點:不方便閱讀和維護

邏輯運算符
邏輯運算符返回布爾值

  • && 邏輯與,&&前後均爲true纔會返回true
  • || 邏輯或,||前後有一個爲true就會返回true
  • ! 邏輯非,!求當前值的相反值

短路操作

  • &&利用條件1爲false就不去執行條件二(一個爲false結果就爲false)
  • ||利用條件1位true就不去執行條件二(一個爲true結果就爲true)
var a = 3, b = 6;
var age = a < b && 26;
//得到age爲26,只要條件1爲true時纔會執行條件2
var age = a > b && 26;
//得到age爲false,條件1爲false則直接返回false,不再向後執行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章