JavaScript語言核心

來源:互聯網
上載者:User

  任何的程式設計語言都有自己的語言核心,和眾多程式設計語言一樣,JavaScript也有自己語言的核心。語言的核心部分一般被稱之為JavaScript最為基礎的部分。正所謂萬事開頭難,學習JavaScript也是一個道理,也有句古話說得好,好的開始是成功的一半。瞭解並學好JavaScript的語言核心部分是JavaScript學習道路上非常良好的開始。

  下面是一段代碼,主要介紹了JavaScript的資料類型和變數:

  

//在script標籤中,所有//後面的內容都稱之為注釋//注釋的作用一般都是為一段JavaScript進行一些解釋,讓其他Web前端開發工程師或者是閱讀這段代碼的時候更加清楚明了//變數是一個值的符號名字,通過這些變數的名字,我們也能夠大體的知道這個變數是幹什麼用的,屬於是什麼變數類型//區別變數很簡單。變數的前面都有“var” ,也就是說變數是通過“var”進行聲明的。var m;//聲明一個變數m//一般我們把要聲明的值用等號賦給變數var m = 10;   //現在的變數m等於 10m//通過 變數 m 來擷取剛才聲明的值//alert(m)    //利用alert()函數,在瀏覽器出彈出m的值//JavaScript的資料類型:布爾值,數字,字串,underfind,函數,數組,對象var n = 1;//數字n = 0.01 //整數和實數都是數字類型var s = "你好"; //由雙引號內的文本構成的字串s = '國安';//由單引號內的文本構成的字串var b = false;//錯誤的布爾值b = true;//正確的布爾值var z = null;//一個null的空值,是一個特殊的類型,typeof後是對象var u;//underfindvar j = {//一個代表json的對象li :3,//屬性“li”的值是3meng :4//屬性“meng”的值是4}j["li"]//通過[]訪問json中的值j.li//通過.訪問json中的值j.long = 5//通過賦值的方法建立新的屬性j.ai = {//通過賦值可以建立新的jsonxin : 33}j.kong = {}//{}代表Null 物件,它沒有屬性j.ai.xin//通過.訪問新的json中的屬性var a = [2,3,2]//一個代表數組的對象a[0]//數組中[]代表[]中數字代表位置,數組從0開始,所以a[0]是數組的第一個元素a.length//length代表數組a的個數,3a[a.length-1]//代表數組中的最後一個元素a[9] = 2;//用賦值的方法添加新的元素//若a = [],那麼代表數組裡的元素為零個,a.length = 0a[0] = {li : 333}//json中能包含數組,數組中也能包含json//alert(a[0]["li"]) 

  上面的代碼中,可以通過“[]”、“{}”、“.”定義對象,也可以通過“[]”、“{}”、“.”開更改數組或者對象中的內容。也可以通過“[]”、“{}”、“.”來讀取對象中的一些資料。下面一組代碼是有關運算子的:

  

//JavaScript中可以運用預算符,進行兩個數之間的運算,可以產生新的值//下面是比較常見的一些預算符,如"+"、"-"、"*"、"/"//1、介紹運算子10 + 10//加法,2010 * 10 //乘法,10010 - 10 //減法,010 /10//除法,1var j = {//一個代表json的對象li :3,//屬性“li”的值是3meng :4//屬性“meng”的值是4}j["li"] - j.meng //json j中的屬性li 減去 json j中的屬性meng ,結果是-1"10" + "10"//加法可以進行字串的拼接,結果是100//2、JavaScript中定義了一些簡寫的運算子var num = 0//定義一個數字num++;//代表自增,num = num + 1;num--;//代表自減,相當於 num = num - 1;num += 2;//代表自增2 ,相當於num = num + 2;num *= 8;//代表自稱8 ,相當於num = num * 8;//3、運算子進行判斷var a = 1,b = 2;//一個等號代表複製,兩個變數之間用","隔開,代表同時聲明a == b;//結果是false意思是a和b是相等嗎a != b;//結果是true意思是a和b不相等嗎a < b;//結果是true意思是a小於b嗎a <= b; //結果是true意思是a小於或者等於b嗎a >b;//結果是false意思是a大於b嗎a >= b;//結果是false意思是a大於或者等於b嗎"two" == "three"; //true "tw"在字母表中的索引大於"th"false > (a > b)//結果是true意思是false和false進行比較//4、邏輯運算子(a == 2) && (b == 3) //結果是true。a是等於2 並且 b是等於3 的嗎 。&&代表並且的意思a > 2 || b > 2 //結果true ,第一個是false,第二個是true,由於 || 代表或的意思!(a == b) //結果是true 。! 是 求反 的意思

  運算子中,僅僅算出個值並不影響任何操作的都叫做運算式,並不改變程式的運行狀態。而語句是不包含一個值,但是它改變運行狀態。語句由於改變運行狀態,所以後面加分號。

  每個函數都有自己的名字,通過名字可以調用執行某一個函數,可以定義一次,調用多次。下面是簡單的函數小例子。

  

//1、函數是一段帶有參數的JavaScript代碼端,可以一次定義,多次調用,也可以帶有參數var a = 3;//聲明一個值為3的變數a;function fn1 (n) {//一個參數為n名為fn1的函數return n+1;//返回一個比傳入的值大一的值}fn1(a)//結果是4,由於剛才聲明的a的值為3,所以調用函數時候,執行 a+1 也就是3+1var fOne = function(m) {//函數也是一種資料類型,所以也可以把變數賦值成一個函數return m*m;//返回一個數值,進行 參數 * 參數 的運算}fOne(a)//結果是 9 //2、方法,把函數賦值給變數的屬性var arr = [];//建立一個新數組arr.push(1,2,3);//用push()方法向arr數組裡從後添加元素arr.reverse();//用reverse()方法將數組中的元素順序反轉var points = [//聲明一個元素中是json的數組{a : 0,b : 0},{a : 1,b : 1}]points.dist = function  () {//在聲明的數組中定義一種計算兩點之間距離的方法var p1 = this[0];//用this擷取當前數組的引用var p2 = this[1];//並且賦值給兩個新的變數var a = p2.a - p1.a;//x軸上的距離var b = p2.b - p1.b;//y軸上的距離return Math.sqrt(a*a + b*b)//用Math()中的sqrt()計算平方根從而得到兩點之間的距離}alert(points.dist())//結果是1.414 //3、控制語句//條件陳述式和迴圈語句被稱之為控制語句function abs (m) {//求絕對值函數if (m >= 0) { //如果比較結果為truereturn m;//返回 m}else { //若比較結果為falsereturn -m;  //返回 -m}}function factorial (n) { //計算階乘的函數var num = 1;//聲明一個值為1的變數while (n > 1) {//當()內的運算式為true時候,執行迴圈{}內的代碼num *= n;//相當於 num = num * nn--;//相當於 n = n -1}return num//返回階乘的結果}factorial(4) //結果是24function factorialFor (n) {//用for迴圈實現階乘var i, num = 1;//聲明變數i,並且聲明值為1的變數numfor (i=2; i <= n ; i++) {//將i從2迴圈到nnum *= i;//迴圈體,當迴圈體中只有一句話的時候可以省略{}}return num;//返回計算好的階乘表}factorialFor(5)

  從函數例子中可以看出,不管是while迴圈還是for迴圈,不管是判斷語句還是迴圈語句,都算得上是控制語句。通過一定的條件控制將要發生的事情。

  介紹完函數,接下來介紹簡單介紹一下物件導向。

  

//定義一個建構函式,就是先創造一個初始化的對象function Point (x,y) {//建構函式名的第一個字母要大寫this.x = x;//this代表的就是這個初始化對象this.y = y;//將函數的參數存到這個初始化對象的屬性中}//建構函式中不需要返回,return什麼東西//使用new關鍵字,和建構函式,建立一個新的對象var p = new Point(1,1);//建立一個平面座標為(1,1)的點//通過給建構函式原型賦值,來給Point新建立的對象添加方法Point.prototype.r = function  () {return Math.sqrt(this.x*this.x + this.y*this.y);//利用Math中的sqrt()方法進行開平方根運算。this指代的是調用方法的對象}p.r()//結果是1.414

  上面的例子是教大家如何定義一個有求平方根方法的點。JavaScript的物件導向和其他程式設計語言的物件導向有一些區別。具體的區別呢,我們只能繼續往下研究,才能知道。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.