JavaScript簡介、基礎語法、變量、數據類型、數據轉換、運算符、數組

1.JavaScript簡介

JavaScript 是互聯網上最流行的腳本語言,這門語言可用于 HTML 和 web,更可廣泛用于服務器、PC、筆記本電腦、平板電腦和智能手機等設備。

JavaScript 與 Java 是兩種完全不同的語言,無論在概念上還是設計上。Java(由 Sun 發明)是更復雜的編程語言。ECMA-262 是 JavaScript 標準的官方名稱。JavaScript 由 Brendan Eich 發明。

JavaScript腳本語言具有以下特點:

(1)JavaScript是一種解釋型的腳本語言,它是運行在瀏覽器上面的腳本語言,C、C++等語言先編譯后執行,而JavaScript是在程序的運行過程中逐行進行解釋。
(2)基于對象。JavaScript是一種基于對象的腳本語言,它不僅可以創建對象,也能使用現有的對象。
(3)簡單。JavaScript語言中采用的是弱類型的變量類型,對使用的數據類型未做出嚴格的要求,是基于Java基本語句和控制的腳本語言,其設計簡單緊湊。
(4)動態性。JavaScript是一種采用事件驅動的腳本語言,它不需要經過Web服務器就可以對用戶的輸入做出響應。在訪問一個網頁時,鼠標在網頁中進行鼠標點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應的響應。
(5)跨平臺性。JavaScript腳本語言不依賴于操作系統,僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫后可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數的瀏覽器所支持。
JavaScript.png

JavaScript用來制作web頁面交互效果,提升用戶體驗。簡單列出幾個JavaScript能夠制作的頁面效果,它能干什么:


JavaScript用途.png
Ajax技術就是JavaScript的一個應用.png
canvas制作的水果忍者.png

web前端三層來說:(三大標準)

結構層 HTML        從語義的角度,描述頁面結構
樣式層 CSS     從審美的角度,美化頁面樣式
行為層 JavaScript  從交互的角度,提升用戶體驗(使用頁面動起來)

注意: js代碼不認識空格,換行以及縮進,所以代碼在寫的時候盡可以的靠近一點應該換行 的地方盡可能換行。

js代碼的注釋
// 注釋單行代碼    /**/js中的多行注釋

2.基礎語法(初體驗)

關于js既可以寫在body中,又可以寫在head里面

<head>
    <title>Document</title>
    <script type="text/javascript">
        //alert("這是我寫的第一個js程序,好開心,好激動!!");
        /*console.log("你好啊,我是用console.log輸出的內容");*/
        //prompt("請輸入您銀行卡密碼,謝謝");
        /*alert(123456);
        alert(一二三四五六);*/
        alert(123);             //能     number
        alert("123");           //能  字符串
        alert(一二三);         //不能  
        alert("一二三");       //能
        alert(我是中國人);       //不能
        alert("我是中國人"); //能
    </script>
</head>
<body>
<script>
window.alert(5 + 6);
</script>
</body>
頁面上彈框alert
alert(“這是內容”);
<button type="button" onclick="alert('歡迎!')">點我!</button>
alert彈框.png
開發人員工具的console中的輸出

這個地方同Xcode控制臺NSlLog輸出及微信小程序Console.log()

Console.log(“這是內容”);//這是在開發人員工具的console中的輸出
小技巧:可以直接在console中輸入代碼并且執行。(這個功能一般是在調試程序的時候使用。)
調試控制臺輸出Console.log(“這是內容”);.png
輸入內容prompt

prompt(“輸入內容”);//這是在頁面中打開一個窗,請用戶輸入內容
用于瀏覽器與用戶進行交互。

prompt("請輸入您銀行卡密碼,謝謝");
輸入內容prompt.png

注意: Prompt():輸入出內容瀏覽器會默認轉為字符串。

更多JS體驗
JavaScript:對事件的反應
JavaScript:改變 HTML 圖像
JavaScript:驗證輸入

3.變量

JavaScript是弱變量類型的語言,變量只需要用var來聲明。Java中變量的聲明,要根據變量是什么類型的來聲明:

1   int a;
2   float a;
3   double a;
4   String a;
5   boolean a;

JavaScript中,只用一個:

1   var a;

這里需要提一點的是:JavaScript不用關心一些其他的事情,比如內存的釋放,指針。開發者只需要關心自己的業務,不需要關系這些雞毛蒜皮的破事兒。

4.數據類型

字符串(String)、數字(Number)、布爾(Boolean)、數組(Array)、對象(Object)、空(Null)、未定義(Undefined)。


數據類型.png
字符串:string

特點:凡是用“”(注意引號是英文的)引起來的內容都是字符串,并且字符串在輸出的時候一定要加上引號。

“內容”:數據類型 string(字符串)
數字:number

特點:如果這段內容是純數字并沒有引號,那么它就是number.

123456:數據類型 number(數字型)
布爾: Boolean

特點:用來表示對錯。
Boolean的世界很簡單,所有的事物只有兩種狀態,一種對,一種錯。
true:對/是
False:錯/非/否
雖然值只有兩個但是我們表達式有千千萬萬:


Boolean.png
未定義:undefined

一般出現在聲明了一個變量,但是沒有賦值。(用在程序調錯上面)

Object對象:

萬能對象,使用object來描述一個人。人有身高,體重。可以描述一個對象,并且為這個對象動態添加屬性。

<script>
var ren = new Object();
ren.shengao = 1.75;
ren.tizhong = 60;
</script>

<script>
var ren = {
  "shengao":1.75,
  "tizhong":60
}
</script>
獲取數據的類型
typeof(數據); //得到數據的類型

typeof 關鍵字。//在js的代碼系統已經使用了這個字符串

5.數據轉換

強制轉換

①將字符串轉成Number, 我們需要將字符串轉成數字:
方式一:

var a = “123”;
var b = Number(a);
console.log(typeof(b));

方式二:

var a = “123”
var b = parseInt(a);//將字符串轉為number 

注意:parseInt在轉換字符串的時候:

a)如果使用Number轉換非數字類型的字符串,那么轉換失敗,但是用parseInt轉換就不會,如果數據中既有數字又有字母,那么parseInt會將數字轉成Number,后面的字母(就算字母后面有數字也會)直接去掉。
b)如果在轉換的字符串前面有空格,空格會自動去掉。
c)如果字符串開頭不是數字,那么這個轉換結果還是會報錯。

②將number強制轉成字符串:
方式一:

var a = 123;
var b = String(a);
console.log(typeof(b));

方式二:
使用對象的.toString()的方法,將其它類型轉為string.
每個變量(對象),都有.toString()方法。

var a = false;
var b = a.toString();
console.log(b);
console.log(typeof(b));

③將其它類型轉成Boolean:

Var a = 123;
Var b = Boolean(a);
Console.log(typeof(b));

Boolean可以將任意的內容轉成boolean類型,并且都為true,但是0除外。
其實boolean類型的本質就是0跟1;
0---->false
1---->true

隱式轉換(自動轉換)

①將字符串轉成Nubmer:

var a = "123";
var b = +a;
console.log(b);
console.log(typeof(b));

②將數字轉成字符串:

var a = 123;
var b = a + "";
console.log(b);
console.log(typeof(b));

③將其它類型轉換成Boolean類型:

var a = "abc";
var b = !a ;
console.log(b);
console.log(typeof(b));

6.運算符

邏輯運算符
&& 與    與的特點:一flase都false
|| 或    或的特點:一true都true
 ! 非    非的特點:永遠相反。
等號運算符
==:等于     比較的是內容,并不關心數據類型
===:全等   比較的是內容以及數據類型。
!=  不等于  比較的是內容,并不關心數據類型
!== 不全等于 比較的是內容和數據類型之一不一樣就為true
比較運算符
> , < ,>= ,<= ,!=
var a =  1> 3;

注意:比較運算符的優先級要高于賦值運算符的優先級。

三元運算符(三目運算符)
boolean表達式?值1:值2;

執行過程:
首先程序會判斷boolean表達式的值是否為true,如果為true,那么就執行值1的內容,或者返回值1的內容;如果為false,那么就執行值2的內容,或者返回值2的內容;
例子:

money>=300?alert("請吃飯"):alert("揍一頓");
加減乘除求余運算符

加+ :
如果一個字符串與一個數字相加,那么得到的和應該是這個字符串的內容加上為個數字的內容:

var a = "111";
var b = 111;
alert(a+b);  //"111111"

如果一個字符串與一個字符串相加:

var a = "aaa";
var b = "bbb";
alert(a+b);  //"aaabbb"

如果兩個數字相加,結果是這兩個數字的和。

結論:

a.如果“加號”參與運算中有字符串,那么它們的相加應該看作是連接。
b.如果“加號”參與的運算中兩個都是數字,那么它們相加就是兩者的和。

減- :
減法不會用在字符串之間,只會用在數值之間:
作用只是一個數據減去另一個數。

乘x(*) :
作用于兩個數據之間:一個數乘以另一個數

除÷(/) :
作用于兩個數據之間:一個數除以另一個數

求余(%) :
計算出兩個數據相除以后余數:
得到一個數余以另一個數的余數

關于自增自減、if else、while、do-while、for、break、continue、switch-case等同其它語言一樣,函數同C語言一樣, 這里就不做過多介紹

需求:看看小聰是否帶了300塊錢,如果帶了,請吃飯!
var money = prompt(“”);
var b = money>=300;
if (b){
   請吃飯!
}else {

   沒帶300塊錢,算了,請喝杯卡布奇洛!
}
Math對象

找到一個對象,然后將需要數據給它,最后由它來完成這個過程,我們享受結果。(計算的數據-----要修的電腦,要得到結果-----修好之后的電腦)。

Math.pow(a,b);得到a的了b 次方的值
Math.round(a);得到a四舍五八后的值。
Math.Ceil(1.01);向上取值
Math.floor(1.9);向下取值
Math.max(a,b,c...);從這組數中取出最大的值(最少為兩個數)
Math.random();隨機生成一個0到1的隨機數:
//隨機數的取值范圍是0-10整數
        var a = Math.random();
        var b = a * 10;
        var c = Math.round(b);
        console.log(c);
Console.log(Math.round(Math.random()*10));
Math對象.png

7.數組

聲明:
var shuzu = new Array();

賦值:
通過數組名稱加上中括號,在中括號中加上數據的下標(位置的標號)得到這個數據,給它賦值。
Shuzu[0] = 1 ; // [0] 選擇器

取值:
和賦值是一樣的:也是通過數組名加上選擇器來取值。

遍歷:
要將數組中的每一個元素都拿出來:
數組的屬性:length==>數組的長度

數組中常用 的方法:

Concat:將兩個數組合并一個新的數組(注意這個新數組是單獨產生。)
//將兩個數組合并
var newShuzu = shuzu1.concat(shuzu2);

join方法: 將數組轉成字符串形式輸出
var a = shuzu1.join();
console.log(a);
console.log(typeof(a));

注意:

1)在js中數組一旦定義好了,那么它就是一個無窮大的容器。
2)數組是從0開始存儲的
3)數組定義好了以后的長度是0;

我是楚簡約,感謝您的閱讀,

喜歡就點個贊唄,“?喜歡”,

鼓勵又不花錢,你在看,我就繼續寫~

非簡書用戶,可以點右上角的三個“...”,然后"在Safari中打開”,就可以點贊咯~


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容