JavaScript筆記(4)

来源:https://www.cnblogs.com/fxiong/archive/2018/12/12/10111138.html
-Advertisement-
Play Games

列印: 列印: 列印: break 和 continue 的區別 1.break 2.continue 練習: 對象 一、 在ECMAscript中,引用類型是一種數據結構.用於將數據和功能組織在一起.在其他語言這種數據結構一般屬於類(class)的範疇 .儘管ECMAscript是一門面向對象的語 ...


接上一篇筆記    ----->

 

列印:

                                      

  列印:                         

                        

列印:

   

一、break 和 continue 的區別

 1.break 

1.break語句可用於跳出迴圈
2.也可以用break語句在迴圈結構終止本層迴圈體,從而提前結束本層迴圈(所在的迴圈體已經結束)

 2.continue

1.continue語句的作用是跳過本次迴圈體中餘下尚未執行的語句,如果出現了指定的條件,然後繼續迴圈中的下一個迭代。可以理解為僅結束本次迴圈。
2.continue所在的迴圈體並沒有結束

 練習:

輸出00以內的質數的最簡記憶體占用最少的方式                    其中Math.sqrt    sqrt() 方法可返回一個數的平方根
 

 

二、對象

 1、在ECMAscript中,引用類型是一種數據結構.用於將數據和功能組織在一起.在其他語言這種數據結構一般屬於類(class)的範疇

   .儘管ECMAscript是一門面向對象的語言,但它不具備傳統的面向對象語言所支持的類和介面等基本結構.

 2、對象是某個特定引用類型的實例

       對象是使用new 操作符後跟一個構建函數來創建的

       構造函數本身就是一個函數,只不過該函數是出於創建新對象的目的而定義的。

       其實本質上ECMAscript是沒有構造函數的,只存在函數的構造調用。var obj=new Object();

 3、對象的分類

      1.內建對象

        --由ES標準中定義的對象,在任何的Es的實現中都可以使用

        --比如:Object Function Array Date String Number Boolean

      2.宿主對象

        --由JS的運行環境提供的對象,目前來講主要是由瀏覽器提供的對象

        --比如 BOM DOM

      3.自定義對象

     --由開發人員自己創建的對象

//ES5(面向原型)  
繼承
//引用數據類型 對象(存儲數據的一種容器) 所有程式的核心:存儲與使用值!!

對象的屬性增刪改查
var man={     age:30,   height:180,   wife:{     name:"媚拉",     age:28,     height:170   } };   man.name="吳彥祖";//c   console.log(man.name);//r   man.name="彭於晏";//update   console.log(man.name);//r   delete man.name;//d   console.log(man.name)//r   console.log(man.wife)//r
註意:

      如果讀取對象中沒有的屬性,不會報錯而是會返回undefined

          對象的屬性名不強制要求遵守標識符的規範

          JS對象的屬性值,可以是任意的數據類型,甚至也可以是一個對象

in 運算符

通過該運算符可以檢查一個對象中是否含有指定的屬性

       如果有則返回true,沒有則返回false

       語法:

         "屬性名" in 對象

for-in 迴圈 

  var obj = {     a: "aa",     b: "bb",     c: "cc",     d: "dd"   }   for(var item in obj){     console.log(item) }

數據存儲位置

   js中的變數都是保存到棧記憶體中的      1.基本數據類型的值直接保存在棧記憶體中存儲,值與值之間 是獨立存在的,修改一個變數不會影響其他的變數                 2.對象是保存到堆記憶體中的,沒創建一個新的對象,就會 在堆記憶體中開闢出一個新的空間,                    而變數保存的是對象的記憶體地址(對象的引用),如果兩個變數保存的是同一個對象引用,                    當一個對象通過一個變數修改屬性時,另一個也會受到影響                        

 

  引用數類型做  ==  判斷時    比較的是棧中的地址值

  函數是JS中的一等公民    推薦的是函數化編程 

 

  立即可執行表達式:(function(){})()

 

  沒有重載:同名函數之間存在的是覆蓋的關係,後面的覆蓋前面定義的函數。

          js中沒有重載的概念 

          js中的函數   實參列表可以和形參列表不一致 

      

function test(num){//形參

        out:for(var i=2;i<num;i++){

         for(var j=2;j<=Math.sqrt(i);j++){

            if(i%j===0){

               continue out

               }

             }

             console.log(i)

           }  

        }

       num(1000);//實參

 

 

 

function test(){

     //return undefined 預設一個return undefined

   }

    console.log(test())

總結:

 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript

    1.  函數是js中的一等公民   js推崇函數化編程

    2.  js中只有函數這個概念   不分普通函數和構造函數

                分函數的普通調用   函數()  ---> 普通函數

                  函數的構造調用   new 函數() ---> 構造函數

 

                  js中是不存在構造函數的定義語法的!! 只有函數的構造調用

                  當一個函數被構造調用(new)時,當前這個函數就可以被認為是一個構造函數

 

 

     3. 在js中萬物皆對象

     4. 對象 也叫實例 也叫實例對象

     5. 函數對象 Object對象 自定義對象 Person對象

   */

 

   // 在js中有個不成文的規定  首字母大寫的函數 一般使用起來都是構造調用的

 


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

-Advertisement-
Play Games
更多相關文章
  • 本文將從最簡單的GET請求方法的使用入手,由表及裡,逐步探究AFNetworking如何封裝處理原生的網路請求。 一、AFNetworking的簡單使用 Post、Put、Delete 與此Get類似 二、AFNetworking如何封裝的呢? AFNetworking的封裝分為 Task(任務) ...
  • 一、應用場景 類似微信發朋友圈添加圖片(相冊或拍照),點擊圖片可以瀏覽,瀏覽時可對當前圖片進行縮放,並且該縮放不影響其他圖片正常顯示;瀏覽時可刪除圖片 二、關鍵代碼 //這裡主要的問題是:如果採用CGAffineTransformScale對scrollview進行縮放,則瀏覽時移到下一張圖片也會跟 ...
  • 下麵代碼是關於android中使用afinal一行顯示網路圖片的代碼。 public class DemoActivity extends FinalActivity { @Override public void onCreate(Bundle savedInstanceState) { supe ...
  • 一,OS X和iOS自帶一些標準的C程式庫和操作系統相關的特殊性。在MAC和iOS的世界里,靜態庫採用.a擴展名(靜態對象代碼庫存檔),動態載入庫採用.dylib擴展名。如果開發人員來自於Linux世界,可能習慣於.so文件;如果開發人員過去是Windows的開發人員,可能把它們稱作DLL。 二,靜 ...
  • 一,Xcode-->Preferences >Key Bindings. 參考資料:《Xcode實戰開發》 ...
  • 1、什麼是CSS盒模型?CSS盒子模型包括元素、內邊距、邊框、外邊距,如下圖: 2、元素分類:元素可以分為塊狀元素、內聯元素、內聯塊狀元素。 常用塊狀元素:<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<fo ...
  • 我們通過實現一個簡單版的和Vue中computed具有相同功能的函數來瞭解computed是如何工作的。寫的十分的全面細緻,具有一定的參考價值,對此有需要的朋友可以參考學習下。如有不足之處,歡迎批評指正。 JS屬性: JavaScript有一個特性是 Object.defineProperty ,它 ...
  • 一、window對象的屬性和方法 ①setTimeout()方法用來實現一個函數在指定毫秒之後運行,該方法返回一個值,這個值可以傳遞給clearTimeout()用於取消這個函數的執行。 ②setInterval()用來實現一個在指定毫毛數的時間里重覆調用,返回一個值,這 個值可以傳遞給clearI ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...