JavaScript基本概念(一)--- 基本語法

来源:http://www.cnblogs.com/liaidai/archive/2016/01/04/5098958.html
-Advertisement-
Play Games

前言: 新的一年開始了,今年的主要目標就是javascript,最近在看javascript高級程式設計(第三版),單純的看書也是個很枯燥的事,所以就把看完的東西再寫一遍吧,一方面加深印象,一方面理解不正確的也好讓園子裡面的大神們給提提意見。 這本書前兩章主要是javascript簡介以及在...


前言:  

  新的一年開始了,今年的主要目標就是javascript,最近在看javascript高級程式設計(第三版),單純的看書也是個很枯燥的事,所以就把看完的東西再寫一遍吧,一方面加深印象,一方面理解不正確的也好讓園子裡面的大神們給提提意見。

  這本書前兩章主要是javascript簡介以及在HTML中使用javascript,算是對javascript的一個簡單的瞭解,從第三章開始就進入了真正的學習,那麼我的讀書筆記也從第三章開始寫,第三章是基本概念,主要從語法、數據類型、流控制語句以及函數四個方面來講解,今天我主要寫一下關於數據類型之前的一些基礎的內容。

語法:

  javascript的語法主要借鑒了C以及其他C類語言的一些語法,所以如果有C或者JAVA之類的語言基礎,那麼在理解javascript語法的時候可能會更加容易一點。

 一、區分大小寫

    javascript與java一樣(本人是搞java的,所以就以java為例了),變數、函數名以及操作符等這些內容都是嚴格區分大小寫,變數名hello和變數名Hello是完全不同的兩個變數,不能混為一談;另外在給函數命名的時候,是不能使用關鍵字作為函數名的,不然會出現問題的,舉個例子,有一次我要寫個刪除的方法,當時也沒想起delete是關鍵字,就用delete做了函數名,但是運行時候怎麼都出來效果,剛開始還以為是函數內部的代碼寫錯了,但是我把函數裡面的代碼全部刪除掉只留下一個console.info()之後發現還是出不來效果,後來才想起delete是關鍵字,不能用來做函數名,改了名字之後才正確。

 二、標識符

    標識符就是屬性名、變數名以及函數名、函數參數等這些名稱,javascript的標識符和java的標識符一樣,第一位必須是字母或者下劃線(_)或者美元符號($),其他字母可以是數字、字母、下劃線以及美元符號,雖然沒有硬性規定標識符必須寫成駝峰式的,但是為了閱讀方便,我們還是約定俗稱的把javascript的標識符寫成駝峰式的。

 三、註釋

    javascript的註釋和java的註釋一致,單行的註釋寫為//,多行的註釋寫成/*註釋內容*/的形式,多行註釋除了第一行和最後一行,中間的部分可以有*號也可以沒有*號,看大家的習慣了;

 四、嚴格模式

    關於嚴格模式的內容,對我來說還是不是太懂,畢竟js這部分解除的並不是太多,看的時候在網上百度了一下關於嚴格模式的內容,嚴格模式顧名思義就是讓javascript在更嚴格的模式下運行,這是ECMAscript5中添加的一個新的模式。那麼設置嚴格模式的原因有哪些呢?主要有一下幾個方面:

  • 消除javascript中的一些不嚴謹、不合理之處,減少一些怪異的行為;
  • 消除代碼運行的一些不安全地方,提高代碼運行的安全;
  • 提高編譯器效率,增加運行速度;
  • 為未來新版本的Javascript做好鋪墊。

"嚴格模式"體現了Javascript更合理、更安全、更嚴謹的發展方向,包括IE 10在內的主流瀏覽器,都已經支持了嚴格模式,在嚴格模式下,代碼的運行結果可能與正常模式的運行結果不相同,甚至在正常模式下運行的代碼在嚴格模式下是無法運行的,那麼怎麼進入嚴格模式呢?

    進入嚴格模式需要使用"use strict" ,如果要在整個腳本文件中使用嚴格模式,那麼需要在腳本文件的第一行添加"use strict",此時整個腳本文件將以嚴格模式運行,如果沒有放在第一行,那麼是無效的,特別是對於多個腳本文件整合成一個文件的時候,那麼就需要多註意一下了;如下麵的例子,第一個<script>標簽中的內容就是嚴格模式,第二個還是正常模式:

  

<script>
            "use strict" 
            v = 1;
            console.info(v);//運行結果:"Uncaught ReferenceError: v is not defined"
        </script>
        <script>
            s = 2;
            console.info(this.s);//運行結果:"2"
        </script>

  可以看到,在嚴格模式下,是不允許對未聲明的變數進行賦值的,但是在正常模式下,未聲明的變數賦值後預設是全局變數。如果把"use strict"放在單個函數的第一行,那麼整個函數將以嚴格模式運行,如下所示:

function testUseStrict () {
                "use strict";
                d = 3;
                console.info(d);//運行結果:"Uncaught ReferenceError: d is not defined"
            }
            
            testUseStrict();

將"use strict"放在函數第一行,那麼整個函數將以嚴格模式的方式進行運行,這個方法為我們整合腳本文件提供了一種思路,我們可以將整個腳本文件放入到一個匿名函數中,立即執行這個匿名函數即可,如下所示:

<script>
            (function(){
                "use strict";
                var v = 11;
                console.info(v);//運行結果:11
            })();
        </script>

  關於嚴格模式大家可以訪問以下這個鏈接,這位大神寫的就清晰多了,後面的javascript學習中用到嚴格模式的地方我也會標出來的。鏈接送上:http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html

 

  五、語句

    javascript的語句和java幾乎一樣,都是以分號結尾,但是不同的是java中一行結束必須加上分號,但是在javascript中,一行結束是可以不加分號的,有解析器自己去判斷語句的結尾,如下所示:

var a1 = 2 + 2
            var a2 = 5 - 1;
            
            console.info(a1);//4
            console.info(a2);//4

另外,在java中if語句是可以寫成這個樣子的if(condition) ....... ,javascript中也是可以這樣寫的,但是不管是結尾不加分號還是if條件語句不加{}的寫法,在某些時候都會引起一些問題,所以最好還是寫上的好;

 

關鍵字:

  javascript語言中也是存在一些關鍵字以及保留字的,這些關鍵字可以用來表示控制語句的開始或者結束,或者用語執行一些特定的操作,關鍵字是語言保留的,因此不能作為標識符,關於關鍵字和保留字大家可以上網搜索一下,我在這裡就不把這些關鍵字保留字寫出來了。

 

  今天暫時就寫到這裡,關於javascript的學習我會持續更新的,希望能跟大家一起學習,寫的有問題的地方也歡迎大家之處,謝謝。

  

  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • python列表排序 python字典排序 sortedList的元素可以是各種東西,字元串,字典,自己定義的類等。sorted函數用法如下:sorted(data, cmp=None, key=None, reverse=False) 其中,data是待排序數據,可以使List或者iter...
  • 在開發中遇到將form中的name值一樣的多個input元素傳遞到後臺,我用的是springmvc。剛開始的時候老是報400的請求錯誤。後來查了下資料,其實解決方案挺簡單的。我的後臺controller的代碼如下: 1 @RequestMapping(value = { "/examine" }, ...
  • 早上老大扔了個設備來說要做個搖一搖紅包 就上網找了下 強大的度娘都找不到大神們分享出來的源碼 只能自己埋頭去寫寫了微信官方說明如下搖一搖紅包說明功能說明搖一搖周邊紅包介面是為線下商戶提供的發紅包功能。用戶可以在商家門店等線下場所通過搖一搖周邊領取商家發放的紅包,線上上轉發分享無效。開發者可通過介面開...
  • 我們首先來看看官方的文檔怎麼說:如果用戶在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取用戶基本信息,進而實現業務邏輯。關於網頁授權回調功能變數名稱的說明1、在微信公眾號請求用戶網頁授權之前,開發者需要先到公眾平臺官網中的開發者中心頁配置授權回調功能變數名稱。請註意,這裡填寫的是功能變數名稱(是一個字元...
  • 1.在使用ExtJS在Server端進行網頁開發時,常常會出現關鍵字對應錯誤的問題。例如app\store\xxx\XXX.js中的totalProperty:'XXX',XXX對應的是Action中resultMap.put("aaa",bbb)的aaa。這個是固定的頁面統計條數的方法。root:...
  • 代碼中常有類似的如下的輸入迴圈 char c; while((c=getchar())!=EOF).... 如果輸入 字元+換行時,迴圈的代碼會執行兩次,主要是換行鍵作為字元存到了緩存隊列中,第一次c為輸入的值,第二次c為換行符 ,可以通過fflush(stdin);清除 ...
  • fdisk 分區fdisk /dev/sdb-p查看當前分區-t 改分區號-w將分區表寫進磁碟-n創建分區 -p主分區 -e拓展分區partprobe 讓內核更新分區信息cat /proc/partitions 查看磁碟分區創建文件系統(格式化文件系統)mke2fs -t ext4 /...
  • 1、http協議(這一塊兒有時間的話會做記錄)2、常用的兩種RPC方式基於http協議:HttpClient和JDK自己的Http操作類基於TCP或UDP協議:mina2和netty(這一部分以後有時間做記錄)3、HttpClient工具類的編寫(只列出了兩個最常用的方法get和post)使用場合:...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...