JavaScript學習筆記1之基礎知識點

来源:http://www.cnblogs.com/paulirish/archive/2016/08/20/Basics1.html
-Advertisement-
Play Games

一、什麼是JavaScrip JavaScript是一種動態類型、弱類型、基於原型的客戶端腳本語言。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,在HTML網頁上使用,用來給HTML網頁增加動態功能。 動態: 在運行時確定數據類型,通常變數的類型取決於值的類型 ...


一、什麼是JavaScrip

JavaScript是一種動態類型弱類型、基於原型的客戶端腳本語言。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,在HTML網頁上使用,用來給HTML網頁增加動態功能。

動態
在運行時確定數據類型,通常變數的類型取決於值的類型
弱類
計算時可在不同類型之間,通過隱式轉換得到正確的類型
原型
新對象繼承對象(模版),將自身的屬性和方法共用給新對
象,模版對象稱為原型

 

 

二、JavaScript由三部分組成
ECMAScript(核心)
作為核心,它規定了語言的組成部分:語法、類型、語句、關鍵字、保留字、操作符、對象

DOM(文檔對象模型)
dom把整個頁面映射為一個多層節點樹,開發人員可藉助dom提供的api,輕鬆地刪除、添加、替換或修改任何節點

BOM(瀏覽器對象模型)
支持可以訪問和操作瀏覽器視窗的瀏覽器對象模型,開發人員可以控制瀏覽器顯示的頁面以外的部分

 

 

三、JavaScript引入方式

1、在html文件中直接進行代碼的書寫

1 <body>
2     <script>
3         alert('hello world_body內引入')
4     </script>
5 </body>

2、外部引入
    把<script>元素放在頁面的<head>元素中

1 <head>
2     <meta charset="UTF-8">
3     <title>引入方式</title>
4     <script src="my.js"></script>
5 </head>

   把<script>元素放在<body>中,放在頁面的內容後面


3、直接寫在標簽內

<h2 onclick="test()">點點我</h2>
<h2 onclick="alert('別摸我2')">點我試試看</h2>

<script>
   function test(){
   alert('別摸我1');}
</script>

 四、JavaScript語法

1、區分大小寫:
JS中的一切(變數函數名操作符)都區分大小寫
2、標識符:指變數函數屬性的名字,或者函數的參數
   標識符命名規範:
   第一個字元必須是字母、下劃線(_)或美元符號($);
   其他字元可以是字母、下劃線、美元符號或數字
   不能含有空格
   不能關鍵字保留字命名
3、關鍵字
可用於表示控制語句的開始或結束,或用於執行特定操作等。按照規則,關鍵字也是語言保留的,不能用作標識符

4、保留字(有可能在將來被用作關鍵字來使用不能用作標識符

5、變數

JS的變數是鬆散類型的,可以用來保存任何類型的數據。
在JS中,只有一種聲明變數的操作符var,它可以聲明各種類型的數據

 

 

六、變數數據類型

 1、typeof 運算符

語法:typeof(x)   或  typeof  x

使用typeof操作符可能返回下列某個字元串:

undefined---值為定義

boolean---值是布爾值

string---值是字元串

number---值是數值

object---值是對象或null

function---值是函數

函數在js中是對象,不是一種數據類型,但函數有一些特殊屬性,通過typeof操作符來區分函數和其他對象

2、 undefined類型

undefined類型只有一個特殊值為undefined

聲明變數初始化(賦值)時,這個變數的值就是undefined

示例1:

var  a;

alert(a); //undefined          alert(b); //報錯

這個結果有其邏輯上的合理性,無論對哪個變數都不能執行真正的操作

3、null類型

null類型只有一個特殊值為null

從邏輯角度來看,null表示空對象指針,所以typeof檢測時返回object。如果變數準備在將來用於保存對象,那麼該變數最好初始化為null。

alert(null == undefined);  

實際上,undefined派生自null值的,ECMAScript規定它們的相等性要返回true,但兩者的用途完全不同。

4、boolean類型

boolean類型有兩個字面值:true 和 false

在js中所有類型值都有與這兩個布爾值等價的值

1.特殊值undefined和null -- false

2.數字0和NaN -- false

3.空字元串 -- false

4.所有其他值 -- true

5、 number類型

number類型表示整型和浮點型,基本的數值字面量格式都是十進位。

此外,整數的字面量還可以是八進位和十六進位。

var num1=15; //整數

var num2=1.5; //浮點數

var num3=15.0; //解析為整數15

var num4=070; //八進位56

var num5=0x1f; //十六進位3

NaN即非數值,是number類型中的一個特殊值

NaN用於表示本來要返回一個數值的操作數,結果未返回數值的情況(這樣不會報錯)。

NaN有兩個特點:

1.任何涉及NAN的操作都會返回NaN

2.NaN與任何值都不相等,包括它本身

示例:var a=0/0; var b=parseInt('x123');

6、string類型

string類型用於表示由零個或多個16位unicode字元組成的字元序列,即字元串,由雙引號或單引號表示。

示例:

var str1=‘123’;

var str3=‘你好’;

var str4=‘ ’;//空字元串

7、object類型

JavaScript中對象其實就是一組數據和功能的集合。

示例:

var obj1=[1,2,3];//數組

var obj2={name:'laowang'};//對象

 1 <script>
 2     var a=3;//數值型number
 3     var b=null;//object(空對象)
 4     var c='hello';//string
 5     var d=true;//boolean
 6     var e;//undefined(只聲明未初始化)
 7     var f='';//string
 8     var g=function(){};//function(函數)
 9     console.log(typeof a);
10     console.log(typeof b);
11         console.log(typeof c);
12         console.log(typeof d);
13         console.log(typeof e);
14         console.log(typeof f);
15         console.log(typeof g);
16 </script>

 

 

七、操作符

1、邏輯操作符

  邏輯非(!)

  邏輯與(&&)

  邏輯或(||)

2、算數操作符

  + - * / %(求餘) ++ --

3、關係操作符

  

等於(==)的情況下 只要值相同就返回 true
全等(===)的時候需要類型都要匹配才能返回 true

關係操作符返回的是布爾值(true 或 false)

4、條件操作符

 

  

 5、賦值操作符


6、操作符優先順序

邏輯非——算術操作符——關係操作符——邏輯與 邏輯或——條件操作符——賦值操作符

 


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

-Advertisement-
Play Games
更多相關文章
  • 模板方法模式 定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中。 模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。通俗的說的就是有很多相同的步驟的,在某一些地方可能有一些差別適合於這種模式,如大話設計模式中說到的考試場景中,每個人的試卷都是一樣的,只有答案不一樣。這種場景 ...
  • ...
  • 早上醒來打開手機,瀏覽完該看的信息後,隨意點看某脈求職,由於自己定製的都是架構和開發類別,所以看到的招聘幾乎都是架構師職位,薪酬幾乎都在30~50K/月,好是羡慕(幾乎都是招Java架構的......看來還是得加快學習進度,轉型速度要快點)。心想如果自己去面試這些職位時,對方萬一問:“你來應聘架構師 ...
  • 今天剛學了java script,記錄下學習新知識的點滴。以下是操作步驟。 1、新建一個文檔(用NotePad軟體,為了使得在瀏覽器中打開不是亂碼,在軟體的文件出找到編碼,將其修改為UTF-8編碼。或者點擊谷歌瀏覽器中的右上角的三條杠,選擇更多工具->編碼->UTF-8),將其重命名(例:第一個ja ...
  • 1、兄弟選擇器:①相鄰兄弟選擇器:元素的後一個兄弟元素,選擇器1+選擇器2;②通用兄弟選擇器:元素後的所有兄弟元素,選擇器1~選擇器2; 2、屬性選擇器:attr表示屬性名稱,elem表示元素名;①[attr]:頁面中所有帶有attr屬性的元素;②elem[attr]:頁面中所有帶attr屬性的el ...
  • 模板描述:html5 canvas首屏自適應背景動畫迴圈效果代碼 由於動態圖太大,怕以後伺服器受不了,所以現在都改為靜態圖了,大家點擊演示地址一樣的,希望大家喜歡,你們的支持就是小海的動力!! ...
  • 1、字體屬性:①字體格式:font-family:取值:“microsoft yahei”/Arial……;②字體大小:font-size:取值:pt/px;③字體加粗:font-weight:取值:normal(預設值)/bold(粗體,hn,b,strong的預設值)/400-900;④字體樣式 ...
  • 一、html概述 htyper text markup language 即超文本標記語言 超文本: 就是指頁面內可以包含圖片、鏈接,甚至音樂、程式等非文字元素。 標記語言: 標記(標簽)構成的語言. 網頁==HTML文檔,由瀏覽器解析,用來展示的 靜態網頁:靜態的資源,如xxx.html 動態網頁 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...