Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩欧美综合在线二区三区,国产对白刺激真实精品91,免费在线观看一区

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript this關鍵字:為何如此關鍵?如何正確綁定?

          JavaScript中,this關鍵字的指向是動態變化的,它依賴于函數的調用方式。理解this的指向是JavaScript編程中的一項重要技能,因為它直接影響到函數內部訪問到的對象。下面詳細解釋幾種常見的this指向情況:

          1. 全局環境中的this

          在全局作用域(瀏覽器中的全局對象是window,Node.js中的全局對象是global)中,this指向全局對象。

          console.log(this === window); // 在瀏覽器中輸出 true  
          console.log(this.document !== undefined); // 驗證this指向全局對象

          2. 函數調用中的this

          在普通函數調用時(非嚴格模式下),this指向全局對象(瀏覽器中是window,Node.js中是global)。在嚴格模式('use strict';)下,this是undefined。

          function test() {  
              console.log(this === window); // 非嚴格模式下為 true  
          }  
            
          test();  
            
          function strictTest() {  
              'use strict';  
              console.log(this === undefined); // 嚴格模式下為 true  
          }  
            
          strictTest();

          3. 方法調用中的this

          當一個函數被保存為某個對象的屬性時,我們稱之為方法。在方法調用中,this指向調用該方法的對象。

          const obj = {  
              method: function() {  
                  console.log(this === obj); // 輸出 true  
              }  
          };  
            
          obj.method();

          4. 構造函數中的this

          在構造函數中,this指向新創建的對象實例。

          function Car(make, model) {  
              this.make = make;  
              this.model = model;  
          }  
            
          const myCar = new Car('Ford', 'Mustang');  
          console.log(myCar.make); // 輸出 Ford

          5. 箭頭函數中的this

          箭頭函數不綁定自己的this,它會捕獲其所在上下文的this值,作為自己的this值。

          const obj = {  
              method: function() {  
                  return () => {  
                      console.log(this === obj); // 輸出 true  
                  };  
              }  
          };  
            
          const func = obj.method();  
          func();

          6. 顯式設置this

          使用call()、apply()和bind()方法可以顯式設置函數執行時this的指向。

          • call(thisArg, arg1, arg2, ...)
          • apply(thisArg, [argsArray])
          • bind(thisArg, arg1, arg2, ...)

          這些方法都允許你調用一個函數,并顯式地設置函數體內this的值,call和apply會立即執行函數,而bind會返回一個新的函數,這個新函數在被調用時,this會被設置為bind的第一個參數,而其余參數將作為新函數的參數,供調用時使用。

          使用call()

          call()方法調用一個函數,其具有一個指定的this值和分別提供的參數(參數的列表)。

          function greet(greeting, punctuation) {  
              console.log(this.name + ' says, ' + greeting + punctuation);  
          }  
            
          const person = {  
              name: 'Alice'  
          };  
            
          // 使用call()顯式設置this指向person對象  
          greet.call(person, 'Hello', '!');  
          // 輸出: Alice says, Hello!

          使用apply()

          apply()方法調用一個函數,其具有一個指定的this值,以及作為一個數組(或類數組對象)提供的參數。

          function greet(greeting, punctuation) {  
              console.log(this.name + ' says, ' + greeting + punctuation);  
          }  
            
          const person = {  
              name: 'Bob'  
          };  
            
          // 使用apply()顯式設置this指向person對象,參數作為數組傳遞  
          greet.apply(person, ['Hi', '.']);  
          // 輸出: Bob says, Hi.

          使用bind()

          bind()方法創建一個新的函數,在bind()被調用時,這個新函數的this被指定為bind()的第一個參數,而其余參數將作為新函數的參數,供調用時使用。

          function greet(greeting, punctuation) {  
              console.log(this.name + ' says, ' + greeting + punctuation);  
          }  
            
          const person = {  
              name: 'Charlie'  
          };  
            
          // 使用bind()創建一個新函數,其this指向person對象  
          const greetCharlie = greet.bind(person, 'Hey', '!');  
            
          // 調用新函數  
          greetCharlie();  
          // 輸出: Charlie says, Hey!  
            
          // 注意:bind()不會立即執行函數,而是返回一個新函數

          理解這些this的指向規則,對于編寫清晰、可維護的JavaScript代碼至關重要。

          這里是云端源想IT,幫你輕松學IT”

          嗨~ 今天的你過得還好嗎?

          生命不必每時每刻都要沖刺

          低沉時

          就當給自己放了一個悠長假期

          - 2024.04.24 -

          JavaScript關鍵字是一種特殊的標識符,它們在語言中有固定的含義,不能用作變量名或函數名。這些關鍵字是JavaScript的基礎,理解它們是掌握JavaScript的關鍵。

          今天,我們將一起探索JavaScript中的26個關鍵字,了解這些關鍵字各自獨特的含義、特性和使用方法。



          一、JavaScript關鍵字是什么

          Javascript關鍵字(Keyword)是指在Javascript語言中有特定含義,成為Javascript語法中一部分的那些字,是 JavaScript 語言內部使用的一組名字(或稱為命令)。

          Javascript關鍵字是不能作為變量名和函數名使用的。使用Javascript關鍵字作為變量名或函數名,會使Javascript在載入過程中出現編譯錯誤。


          Java中的關鍵字可用于表示控制語句的開始或結束,或者用于執行特定操作等。按照規則,關鍵字也是語言保留的,不能用作標識符。


          下面我們來詳細介紹一下JavaScript關鍵字的作用和使用方法。


          二、JavaScript的26個關鍵字

          JavaScript是一種廣泛使用的編程語言,它具有豐富的關鍵字,這些關鍵字在JavaScript語言中發揮著重要的作用,JavaScript一共提供了26個關鍵字:

          break, case, catch, continue, debugger, default, delete, do, else, finally, for, function, if, in, instanceof, new, return, switch, this, throw, try, typeof, var, void, while, with

          其中,debugger在ECMAScript 5 新增的。


          1、break:跳出 循環

          break用于跳出循環結構。循環結構是一種重復執行某個代碼塊的結構,break關鍵字可以用于循環結構中的條件語句中,用于跳出循環。例如:

          for (var i = 0; i < 10; i++) {
          if (i == 5) {
          break; // 當i等于5時跳出循環
          }
          console.log(i);
          }



          2、case:捕捉

          它用于在switch語句中定義一個分支。switch語句是一種根據表達式的值執行不同代碼塊的結構,case關鍵字可以用于switch語句中,用于定義不同的分支。例如:

          switch (n) {
          
          case 1:
          console.log('n等于1');
          break;
          case 2:
          console.log('n等于2');
          break;
          default:
          console.log('n不等于1或2');
          break;
          }



          3、catch:配合try進行錯誤判斷

          catch是JavaScript中的一個關鍵字,它用于捕獲異常。異常是一種程序運行時出現的錯誤,catch關鍵字可以用于try-catch語句中,用于捕獲并處理異常。例如:

          try {
          // 代碼
          } catch (e) {
          console.log('發生異常:' + e.message);
          }



          4、continue:繼續

          continue用于跳過當前循環中的某個迭代。循環結構是一種重復執行某個代碼塊的結構,continue關鍵字可以用于循環結構中的條件語句中,用于跳過當前迭代。例如:

          for (var i = 0; i < 10; i++) {
          if (i == 5) {
          continue; // 當i等于5時跳過當前迭代
          }
          console.log(i);
          }



          5、debugger:設置斷點

          它用于在代碼中設置斷點,方便調試代碼。調試是一種在代碼運行時發現和解決問題的過程,debugger關鍵字可以用于代碼中,用于設置斷點。例如:

          function foo() {
          var x = 10;
          debugger; // 在這里設置斷點
          console.log(x);
          }



          6、default:配合switch,當條件不存在時使用該項

          default用于在switch語句中定義一個默認分支。switch語句是一種根據表達式的值執行不同代碼塊的結構,default關鍵字可以用于switch語句中,用于定義默認分支。例如:

          switch (n) {
          case 1:
          console.log('n等于1');
          break;
          case 2:
          console.log('n等于2');
          break;
          default:
          console.log('n不等于1或2');
          break;
          }
          


          7、delete:刪除了一個屬性

          delete用于刪除對象的屬性或數組中的元素。對象是JavaScript中的一種數據類型,它由一組屬性組成,delete關鍵字可以用于對象的屬性中,用于刪除屬性。例如:

          var obj = {a: 1, b: 2, c: 3};
          delete obj.b; // 刪除對象obj的屬性b
          console.log(obj); // 輸出{a: 1, c: 3}



          8、do:聲明一個循環

          do用于定義一個do-while循環結構。循環結構是一種重復執行某個代碼塊的結構,do關鍵字可以用于do-while循環中,用于定義循環體。例如:

          var i = 0;
          do {
          console.log(i);
          i++;
          } while (i < 10);
          


          9、else:否則//配合if條件判斷,用于條件選擇的跳轉

          else用于在if語句中定義一個分支。if語句是一種根據條件執行不同代碼塊的結構,else關鍵字可以用于if語句中,用于定義另一個分支。例如:

          if (n == 1) {
          console.log('n等于1');
          } else {
          console.log('n不等于1');
          }



          10、finally:預防出現異常時用的

          finally用于定義一個try-catch-finally語句中的finally塊。try-catch-finally語句是一種用于處理異常的結構,finally關鍵字可以用于finally塊中,用于定義一些必須執行的代碼。例如:

          try {
          // 可能會拋出異常的代碼
          } catch (e) {
          // 處理異常的代碼
          } finally {
          // 必須執行的代碼
          }
          


          11、for:循環語句

          for用于定義一個for循環結構。循環結構是一種重復執行某個代碼塊的結構,for關鍵字可以用于for循環中,用于定義循環條件。例如:

          for (var i = 0; i < 10; i++) {
          console.log(i);
          }



          12、function:定義函數的關鍵字

          function用于定義一個函數。函數是一種封裝了一段代碼的結構,它可以接受參數并返回結果。function關鍵字可以用于函數定義中,用于定義函數名和參數列表。例如:

          function add(a, b) {
          return a + b;
          }
          console.log(add(1, 2)); // 輸出3



          13、if:定義一個if語句

          if用于定義一個if語句。if語句是一種根據條件執行不同代碼塊的結構,if關鍵字可以用于if語句中,用于定義條件。例如:

          if (n == 1) {
          console.log('n等于1');
          } else {
          console.log('n不等于1');
          }



          14、in:判斷某個屬性屬于某個對象

          in用于判斷一個對象是否包含某個屬性。對象是JavaScript中的一種數據類型,它由一組屬性組成,in關鍵字可以用于對象中,用于判斷對象是否包含某個屬性。例如:

          var obj = {a: 1, b: 2, c: 3};
          if ('a' in obj) {
          console.log('obj包含屬性a');
          } else {
          console.log('obj不包含屬性a');
          }



          15、instanceof:某個對象是不是另一個對象的實例

          instanceof用于判斷一個對象是否是某個類的實例。類是JavaScript中的一種數據類型,它由一組屬性和方法組成,instanceof關鍵字可以用于類中,用于判斷對象是否是該類的實例。例如:

          function Person(name) {
          this.name = name;
          }
          var p = new Person('張三');
          if (p instanceof Person) {
          console.log('p是Person類的實例');
          } else {
          console.log('p不是Person類的實例');
          }



          16、new:創建一個新對象

          new用于創建一個對象。對象是JavaScript中的一種數據類型,它由一組屬性和方法組成,new關鍵字可以用于類中,用于創建該類的實例。例如:

          function Person(name) {
          this.name = name;
          }
          var p = new Person('張三');
          console.log(p.name); // 輸出張三



          17、return:返回

          return用于從函數中返回一個值。函數是JavaScript中的一種數據類型,它由一段代碼塊組成,return關鍵字可以用于函數中,用于返回函數的執行結果。例如:

          function add(a, b) {
          return a + b;
          }
          
          console.log(add(1, 2)); // 輸出3



          18、switch:彌補if的多重判斷語句

          switch用于根據不同的條件執行不同的代碼塊。switch語句是一種根據條件執行不同代碼塊的結構,switch關鍵字可以用于switch語句中,用于定義條件。例如:

          var day = 3;
          switch (day) {
          case 1:
          console.log('星期一');
          break;
          case 2:
          console.log('星期二');
          break;
          case 3:
          console.log('星期三');
          break;
          default:
          console.log('不是星期一、二、三');
          }



          19、this:總是指向調用該方法的對象

          this用于引用當前對象。對象是JavaScript中的一種數據類型,它由一組屬性和方法組成,this關鍵字可以用于對象中,用于引用當前對象的屬性和方法。例如:

          var obj = {
          name: '張三',
          sayName: function() {
          console.log(this.name);
          }
          };
          obj.sayName(); // 輸出張三



          20、throw:拋出異常

          throw是JavaScript中的一個關鍵字,它用于拋出一個異常。異常是JavaScript中的一種錯誤類型,它可以用于在程序運行過程中發現錯誤并停止程序的執行。throw關鍵字可以用于函數中,用于拋出異常。例如:

          function divide(a, b) {
          if (b === 0) {
          throw new Error('除數不能為0');
          
          }
          return a / b;
          }
          console.log(divide(10, 0)); // 拋出異常



          21、try:接受異常并做出判斷

          try是JavaScript中的一個關鍵字,它用于捕獲異常。異常是JavaScript中的一種錯誤類型,它可以用于在程序運行過程中發現錯誤并停止程序的執行。try語句是一種捕獲異常的結構,try關鍵字可以用于try語句中,用于捕獲異常。例如:

          function divide(a, b) {
          if (b === 0) {
          throw new Error('除數不能為0');
          }
          return a / b;
          }
          try {
          console.log(divide(10, 0)); // 拋出異常
          } catch (e) {
          console.log(e.message); // 輸出除數不能為0
          }



          22、typeof:檢測變量的數據類型

          typeof是JavaScript中的一個關鍵字,它用于獲取變量的類型。變量是JavaScript中的一種數據類型,它可以是數字、字符串、布爾值等。typeof關鍵字可以用于變量中,用于獲取變量的類型。例如:

          var a = 10;
          console.log(typeof a); // 輸出number



          23、var:聲明變量

          var是JavaScript中的一個關鍵字,它用于聲明變量。變量是JavaScript中的一種數據類型,它可以用于存儲數據。var關鍵字可以用于變量中,用于聲明變量。例如:

          var a = 10;
          console.log(a); // 輸出10
          


          24、void:空/ 聲明沒有返回值

          void是JavaScript中的一個關鍵字,它用于執行一個表達式并返回undefined。undefined是JavaScript中的一種特殊值,它表示一個未定義的值。void關鍵字可以用于表達式中,用于執行表達式并返回undefined。例如:

          function doSomething() {
          console.log('執行了doSomething函數');
          }
          var result = void doSomething();
          console.log(result); // 輸出undefined



          25、while

          while是JavaScript中的一個關鍵字,它用于創建一個循環結構。循環是JavaScript中的一種控制結構,它可以用于重復執行一段代碼。while關鍵字可以用于循環中,用于創建一個基于條件的循環。例如:

          var i = 0;
          while (i < 10) {
          console.log(i);
          i++;
          }



          26、with

          with是JavaScript中的一個關鍵字,它用于創建一個作用域。作用域是JavaScript中的一種機制,它可以用于控制變量的作用范圍。with關鍵字可以用于代碼塊中,用于創建一個作用域。例如:

          var obj = {
          name: '張三',
          age: 20
          };
          with (obj) {
          console.log(name); // 輸出張三
          console.log(age); // 輸出20
          }

          想要快速入門前端開發嗎?推薦一個前端開發基礎課程,這個老師講的特別好,零基礎學習無壓力,知識點結合代碼,邊學邊練,可以免費試看試學,還有各種輔助工具和資料,非常適合新手!點這里前往學習哦!云端源想-程序員必看的精品課程

          三、JS關鍵字注意事項

          在開發過程中使用關鍵字我們需要注意以下幾點:



          區分大小寫:JavaScript是區分大小寫的,因此關鍵字的大小寫必須正確。

          不能用作變量名:關鍵字不能被用作變量名,函數名等等,會出現問題。

          不需要硬記關鍵字:關鍵字不用去硬記,我們在編寫代碼時根據系統的提示去規避就可以了。

          保留字:JavaScript有一些保留字,不能用作變量名、函數名或屬性名。

          不要使用全局變量:盡量避免使用全局變量,以免與其他腳本或庫發生沖突??梢允褂昧⒓磮绦泻瘮当磉_式(IIFE)或模塊模式來避免全局變量污染。

          使用嚴格模式:在代碼中添加"use strict"指令,以啟用嚴格模式。這將有助于避免一些常見的錯誤,例如未聲明的變量、隱式類型轉換等。

          避免使用eval()函數:eval()函數用于動態執行字符串中的JavaScript代碼,但可能導致性能問題和安全風險。盡量避免使用eval(),尋找其他替代方案。

          不要使用with語句:with語句會改變代碼的作用域鏈,可能導致意外的錯誤。盡量避免使用with語句,改用局部變量或對象屬性訪問。

          避免使用重復的標識符:確保變量名、函數名和屬性名在同一作用域內是唯一的,以避免命名沖突。

          遵循編碼規范:遵循一致的命名約定、縮進風格和代碼結構,以提高代碼的可讀性和可維護性。


          四、關于保留字的了解

          除了關鍵字還有個“保留字”的概念,所謂保留字,實際上就是預留的“關鍵字”。意思是現在雖然還不是關鍵字,但是未來可能會成為關鍵字,同樣不能使用它們當充當變量名、函數名等標識符。


          下面是JavaScript中保留字的含義,大家同樣不用記,了解一下就行了。


          以上就是關于JavaScript關鍵字的相關內容了,通過了解這26個JavaScript關鍵字的含義、特性和使用方法,你已經邁出了成為編程高手的重要一步。


          記住,實踐是學習的關鍵,不斷地編寫代碼并應用這些關鍵字,你將逐漸掌握JavaScript的精髓。


          如果覺得本文對你有所幫助,別忘了點贊和分享哦!

          我們下期再見!


          END

          文案編輯|云端學長

          文案配圖|云端學長

          內容由:云端源想分享

          avaScript的組成部分

          1. ECMAScript:JavaScript的核心,描述了語言的基本語法(var、for、if、array等)和數據類型(數字、字符串、布爾、函數、對象(obj、[]、{}、null)、未定義)。
          2. 文檔對象模型:DOM(文檔對象模型)是 HTML 和 XML 的應用程序接口(API)。DOM 將把整個頁面規劃成由節點層級構成的文檔。
          3. 瀏覽器對象模型:BOM(瀏覽器對象模型)對瀏覽器窗口進行訪問和操作。例如彈出新的瀏覽器窗口,移動、改變和關閉瀏覽器窗口等等。

          JavaScript關鍵字和保留字

          JavaScript描述了一組具有特定用途的關鍵字,一般用于控制語句的開始或結束,或者用于執行特定的操作等。

          JavaScriptScript全部關鍵字
          ?

          break

          else

          new

          var

          case

          finally

          return

          void

          catch

          for

          switch

          while

          continue

          function

          this

          with

          default

          if

          throw


          delete

          in

          try


          do

          instanceof

          typeof


          JavaScript還描述了另一組不能用作標識符的保留字。盡管保留字在JavaScript中還沒有特定的用途,但它們很有可能在將來被用作關鍵字。

          ?JavaScriptScript全部保留字
          ?

          abstract

          enum

          int

          short

          boolean

          export

          interface

          static

          byte

          extends

          long

          super

          char

          final

          native

          synchronized

          class

          float

          package

          throws

          const

          goto

          private

          transient

          debugger

          implements

          protected

          volatile

          double

          import

          public


          ?JavaScriptScript瀏覽器定義的保留字
          ?

          alert

          eval

          location

          open

          array

          focus

          math

          outerHeight

          blur

          funtion

          name

          parent

          boolean

          history

          navigator

          parseFloat

          date

          image

          number

          regExp

          document

          isNaN

          object

          status

          escape

          length

          onLoad

          string

          JavaScript變量

          什么是變量?

          1. 在JavaScript中,變量指的是一個可以改變的量。也就是說,變量的值在程序運行過程中是可以改變的。
          2. 變量是用于存儲數據的"容器"。我們通過「變量名」獲取數據,甚至可以修改數據。
          3. 變量的本質是程序在內存中申請的一塊用來存放數據的空間。

          變量的命名

          1.變量的名字就和我們的名字一樣,程序也需要通過名字來找到對應的數據。

          例如:曹老師,我想要JavaScript的視頻。曹老師就是變量的名字,JavaScript的視頻就是變量的值。

          2.在JavaScript中,給一個變量命名,我們需要遵循以下的原則:

          • 變量必須以字母開頭
          • 變量也能以 $ 和 _ 符號開頭(不過我們不推薦這么做)
          • 變量名稱對大小寫敏感(y 和 Y 是不同的變量)
          • JavaScript 語句和 JavaScript 變量都對大小寫敏感
          • 變量的聲明不能使用保留字和關鍵字

          變量的使用

          1.定義變量時要使用var操作符(var是關鍵),后面跟一個變量名(變量名是標識符)。

          例:var a = 100;

          如下圖所示:

          全套前端課程及資料請伽薇xiaole45666


          2.一個var也可以同時聲明多個變量名,其中變量名之間必須用英文逗號(,)隔開,例如:

          var a=10,b=20,c=30;
          

          JavaScript的常量

          在JavaScript中,常量指的是一個不能改變的量。也就是說,常量的值從定義開始就是固定的,一直到程序結束都不會改變。

          在JavaScript中,我們可以把常量看成是一種特殊的變量,之所以特殊,是因為它的值是不會變的。一般情況下,常量名全部大寫,別人一看就知道這個值很特殊,有特殊用途,如:var DEBUG = 1

          目前我們只需要簡單了解常量的知識,在之后的課程中我們會詳細講解。如需全套完整前端開發教程及配套資料請伽薇xiaole45666


          主站蜘蛛池模板: 精品国产一区二区三区无码| 亚洲AV无码一区二区三区系列| 国产午夜一区二区在线观看| 精品人妻一区二区三区四区在线| 在线观看日韩一区| 亚洲片一区二区三区| 日韩人妻精品无码一区二区三区| 亚洲熟妇AV一区二区三区浪潮| 日韩精品一区二区三区在线观看| 亚洲爆乳无码一区二区三区| 国产精品亚洲综合一区在线观看 | 亚洲国产日韩一区高清在线| 精品国产一区在线观看| 国产免费一区二区三区不卡| 日韩精品一区二区三区国语自制 | 国产一区二区内射最近更新| 国产激情一区二区三区四区| 91久久精品午夜一区二区| 无码AV一区二区三区无码| 国产一区二区成人| 中文字幕一区二区三区永久| 尤物精品视频一区二区三区| 无码人妻精品一区二区在线视频| 视频精品一区二区三区| 伊人久久一区二区三区无码| 国产高清不卡一区二区| 一区二区三区视频观看| 精品国产一区二区麻豆| 一区二区三区在线观看| 91精品一区二区三区久久久久 | 美女视频一区三区网站在线观看| 精品国产一区二区三区久久蜜臀| 中文字幕日韩一区二区不卡| 无码国产精品一区二区免费3p| 亚洲AV成人精品日韩一区18p | 无码丰满熟妇浪潮一区二区AV| 亚洲AV无一区二区三区久久| 中文无码精品一区二区三区| 精品乱子伦一区二区三区高清免费播放 | 色欲AV蜜桃一区二区三| 乱码精品一区二区三区|