javaScript第六天(2)

07-javaScript基礎

? 函數其他部分

  • arguments [掌握]

    1. arguments 作用?

      解決當函數的形參個數不確定的時候,通過arguments獲取實參的值
      
    2. 如何使用arguments 獲取用戶傳遞實參的值?

      arguments 在函數中就是用來保存實參信息的偽數組 (可以按照數組的方式去遍歷, 但是不能使用數組的方法)? 通過遍歷arguments 就可以得到實參的值
      
  • arguments總結

    1. 當函數中參數個數不確定時候, 可以通過arguments獲取實參的值
    2. 當函數的參數個數以確定的時候,也可以通過arguments獲取實參的值
    3. 如果函數的參數確定,那么就不推薦使用arguments獲取實參的值
  • 課堂案例

    課堂案例:1. 求任意個數中的最大值2. 求任意個數的和
    
  • 匿名函數 自調用函數 (了解)

    • 匿名函數

      匿名函數: 沒有名字的函數
      
    • 自調用函數

      自調用函數: 函數自己調用自己匿名函數 ---> 匿名函數可以自己調用自己
      有名字的函數  ----> 有名字的函數也可以自己調用自己//自調用函數: 函數自己調用自己// (function fn() {//     alert(1);// })();//自調用函數// (function() {//     alert(1);// })();總結:自調用函數,其實就是函數調用的另外一種寫法
      
  • 函數作用域及作用域鏈 [了解]

    • 作用域

      • 全局作用域

        在函數外部的作用域, 在全局作用域中定義的變量,稱為全局變量
        

在這里插入圖片描述

- 局部作用域```js函數內部形成的作用域, 在局部作用域中定義的變量,稱為局部變量```

在這里插入圖片描述

- 全局變量和局部變量的區別1. 局部變量 只能在當前自己的局部作用域中使用,不能在全局作用域中使用(私人物品)2. 全局變量可以在任何作用域中使用(公共物品)
  • 作用域鏈

    作用域鏈: 多個作用域之間形成的一個鏈狀結構
    

在這里插入圖片描述

  • 作用域鏈有什么作用
var a = 1;
function fn1(){var a = 2;function fn2(){console.log(a);   //a的值 }fn2()
}
fn1();
  • 代碼預解析 [了解]

    • 代碼預解析

      代碼在程序執行之前,做的一個準備工作 (生命周期)
      
    • 代碼預解析的準備工作有哪些?

      1. 變量提升

        遇到變量的時候, 那么會將變量的聲明提升到當前作用域的開始位置, 不包括變量的賦值
        
      2. 函數提升

        遇到函數的時候, 那么程序會將函數的聲明提升到當前作用域的開始位置,不包括函數的調用
        

01.知識點-對象基本介紹

  • 為什么要學習對象?

    為了在保存數據的是,要做到 一一對應對象的本質就是一個容器.學習容器的套路:  如何定義, 如何賦值, 如何取值
    
  • 學習對象的路徑[重點]

    1. 必須掌握4種創建對象的方式
    2. 必須掌握如何給對象賦值
    3. 必須掌握如何從對象中取值
  //學習對象的好處:/*1.在保存數據的時候左到一一對應2.對象的本質就是一個容器學習容器的套路: 如何定義,賦值,取值*/ // 創建對象的方式:// 一、屬性:就是對象中的一個變量,變量中保存的是用來描述對象基本特征的值// 二、方法:本質上就是一個匿名函數,將對象中的匿名函數稱為方法//1.  // 對象保存信息就是通過屬性和方法保存// 屬性保存特征,方法實現功能// var dhl = {//     // 屬性://     userName : '王宇',//     userAge : 18,//     //方法://     jiangKe : function(){//         console.log('聽課中。。。');//     }// };// 如何給對象賦值// 1.在定義對象的時候直接賦值// var dhl = {//     // 屬性://     userName : '王宇',//     userAge : 18,//     //方法://     jiangKe : function(){//        alerta('聽課中。。。');//     }// };//(掌握)  // 2.通過      (對象 . 自定義屬性名)(對象 . 方法名)賦值// var obj = {}; //自定義一個空對象// //通過點的方式給屬性賦值// obj.userName = '王宇';// obj.userHeight = 180;// //通過點的方式給方法賦值// obj.sahngKe = function(){//     alert('聽課中....');// }// obj.run = function(){//     alert('跑步....');// }// console.log(obj);s// // 3.通過 對象['自定義屬性(方法名)'] 賦值// 用[]自定義屬性名跟方法是記住,[]里的屬性需要用引號括起來,為了防止程序報錯//         var obj = {};//自定義一個空對象//         //添加屬性//         obj['userName'] = '張三';//         obj['age'] = 18;//         //添加方法//         obj['eat'] = function(){//             alert('跑步.....');//         }//         console.log(obj);// 如何給對象取值:獲取屬性或方法//1. 通過 · 的方式獲取屬性和方法// var  obj = {//     uname : 'wangyu',//     uage : 15,//     uheight :180,//     eat : function(){//         alert('正在吃飯....');//     },//     run : function(){//         alert('在跑步。。。。');//     }// }// console.log(obj.uname);// obj.eat();//2.通過[]的方式獲取屬性和方法var  obj = {uname : 'wangyu',uage : 15,uheight :180,eat : function(){alert('正在吃飯....');},run : function(){alert('在跑步。。。。');}}console.log(obj['uname']);console.log(obj['uage']);obj['run']();
  • 對象的組成

    1. 包括屬性

      屬性其實就是一個對象中的一個變量, 這個變量中保存的是用來描述對象基本特征的值
      
    2. 包括方法

      方法本質上就是一個匿名函數, 將對象中的匿名函數稱為方法
      
    3. 總結: 如果要使用對象保存數據,那么對象中就應該有 屬性 或 方法

02.對象的使用

  • 知識點-創建對象及賦值

    創建對象:

    1. 通過字面量方式創建對象

      var 自定義對象名稱 = {自定義屬性名 :,自定義函數名 : function() {}
      }
      

    給對象賦值

    1. 直接創建對象并賦值(以鍵值對的形式)【優先掌握第一種方式】

          var obj = {userName : 'dhl',eat : function() {alert('正在吃飯');}}
      
    2. 通過對象名的方式賦值 (掌握)

        var obj = {};   //空對象//通過點的方式給屬性賦值obj.userName = '張三';obj.userHeight = 180;//通過點的方式設置方法obj.eat = function() {alert('正在吃飯');}obj.run = function() {alert('正在跑步');}console.log(obj);
      
    3. 通過對象[]方式賦值

      1. 切記,在[]進行自定義變量時,添加引號。
       var obj = {}; //空對象//添加屬性obj['userName'] = '張三';//添加一個方法obj['eat'] = function() {alert('正在吃飯');}console.log(obj);
      
  • 知識點-獲取對象中的值

    ? 對象.的方式

        var  obj = {uname : 'dhl',uage : 28,uheight: 180,eat : function() {alert('正在吃飯');},run : function() {alert('正在跑步');}}console.log(obj.uname);
    //方法: 函數 是用來調用執行的obj.eat();
    

    ? 對象[]的方式

     var obj = {uname : 'dhl',uage : 28,uheight: 180,eat : function() {alert('正在吃飯');},run : function() {alert('正在跑步');}}console.log(obj['uname']);// 調用方法: 調用方法或函數記得加()
    obj['run']();
    

    ? 總結:

    1. 講了一種創建對象的方式(字面方式)
    2. 獲取 / 設置 對象值的方式 適用于 任何一種形式創建出來的對象

3.其他創建對象的方式

  • 知識點-通過內置構造函數創建對象【創建單個對象】

    語法:
    var  自定義對象名 = new Object();總結:
    1. new 關鍵字: 就是通過調用構造函數創建對象的
    2. Object()構造函數: 本質就是一個函數, 構造函數的作用就是用來創建對象的
    3. new Object() 創建的對象 和  通過  {} 創建的對象是一會事兒把 通過  {} 創建的對象稱為是  通過 new Object() 創建對象的語法糖寫法
    
  • 知識點-通過工廠方式創建對象【創建多個對象】

    function people(userName, chenji) {var obj = new Object();obj.userName = userName;obj.score = chenji;return obj;
    }
    var xf = people('小飛', 100);
    var zb = people('志博', 90);
    console.log(xf, zb);
    
  • 知識點-通過自定義構造函數創建對象【推薦寫法】

  • 創建對象總結

4.今日內容小擴展

  • 知識點-this關鍵字介紹
  • 知識點-new關鍵字介紹
  • 知識點-遍歷對象
  • 知識點-instanceOf關鍵字介紹
  • 知識點-簡單數據類型和復雜數據類型的區別

;
obj.score = chenji;
return obj;
}
var xf = people(‘小飛’, 100);
var zb = people(‘志博’, 90);
console.log(xf, zb);


- 知識點-通過自定義構造函數創建對象【推薦寫法】- **創建對象總結**## 4.今日內容小擴展- 知識點-this關鍵字介紹
- 知識點-new關鍵字介紹
- 知識點-遍歷對象
- 知識點-instanceOf關鍵字介紹
- 知識點-簡單數據類型和復雜數據類型的區別

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248268.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248268.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248268.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論wpf的設備無關性 - 簡書

論wpf的設備無關性 - 簡書 原文:論wpf的設備無關性 - 簡書 WPF從發布之日起,一直將“分辨率無關(resolution independence)”作為其亮點,聲稱使用WPF制作的用戶界面在輕巧的Ultra-Mobile PC的屏幕上和在50英寸的電視機上都能很好地顯示。微軟之所以稱WPF…

暑期學習總結6

本周書面學習時間大概6小時,代碼上5小時,java的基礎知識已經基本都學過一遍了,剩下的就是要鞏固,進行了一些實例操作,過程還算滿意,類的運用已經掌握了很多,現在已經習慣了java的類定義方法&…

javaScript第七天(1)

JavaScript基礎 核心知識點 Math對象中的方法數組對象中的方法字符串中的方法 今日學習目標 能夠掌握Math對象中的相關方法能夠掌握數組對象中的push方法能夠掌握操作字符串的方法 內置對象介紹 ? JavaScript組成: ECMAScript | DOM | BOM ? ECMA…

ISLR學習筆記(2)線性回歸

第三章 幾種常見的線性模型 1、簡單線性回歸 Y≈β0β1X 2、多元線性回歸 Y≈β0β1X1β2X2... 3、擴展線性回歸 Y≈β0β1X1β2X2β3X1X1 克服了多元線性模型 X1X1 與 X2X2 不協同作用的假設。 4、多項式回歸 Y≈β0β1X1β2X12β3log(X1)β4√X4 轉載于:https://www.cnblog…

淺談Aho-Corasick automaton(AC自動機)

Aho-Corasick automaton是什么? 要學會AC自動機,我們必須知道什么是Trie,也就是字典樹。Trie樹,又稱單詞查找樹或鍵樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用于統計和排序大量的字符串&#xff…

javaScript第七天(2)

javaScript基礎 ? 對象其他部分 [理解] 自定義構造函數創建對象[掌握] //繼續簡化 自定義構造函數 function People(uName, uAge) {this.uName uName;this.uAge uAge; } // 如何通過自定義構造函數創建對象? var zs new People(張三, 20); console.log(zs);注意事項: 自定…

數據挖掘、機器學習書籍推薦!!

強烈推薦:《機器學習》 (西瓜書) 入門讀物: 《深入淺出數據分析》 這書挺簡單的,基本的內容都涉及了,說得也比較清楚,最后談到了R是大加分。難易程度:非常易。 《啤酒與尿布》 通過案例來說事情&#xff0c…

樓蘭圖騰(權值線段樹)

在完成了分配任務之后,西部314來到了樓蘭古城的西部。 相傳很久以前這片土地上(比樓蘭古城還早)生活著兩個部落,一個部落崇拜尖刀(‘V’),一個部落崇拜鐵鍬(‘∧’),他們分別用V和∧的形狀來代表各自部落的圖騰。 西部314在樓蘭古…

js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作 核心知識 獲取頁面元素事件設置樣式 學習目標 能夠使用id名,標簽名等方式獲取頁面中元素能夠給標簽注冊點擊事件,并實現對應效果能夠給標簽通過js方式設置樣式 JavaScript組成 ECMASCRIPT (基礎語法) DOM(文檔對…

[HZNOI #koishi] Magic

[HZNOI #514] Magic 題意 給定一個 \(n\) 個點 \(m\) 條邊的有向圖, 每個點有兩個權值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花費把第 \(i\) 個點的 \(a_i\) 變成 \(0\). 最后每個點 \(i\) 產生的花費為所有從 \(i\) 出發能通過一條有向邊直接到達的點 \(j\) 的 \(a_j\) 的 \…

同步與異步

同步: 做完一件事,再做另一件 煮好水,再拆泡面包裝 異步: 可以同時做好幾個任務 燒水,打開火之后,先去拆泡面包裝,等水開了,再停下拆包裝,去關掉火。。。。。 轉載于:htt…

js(Dom+Bom)第一天(2)

webAPI 00-復習 內置對象中的方法 01-JavaScript組成 知識點-ECMASCRIPT 重點回顧 存儲容器 變量數組對象 邏輯語法 分支語句循環語句switch語句 知識點-BOM 概念 Browser Object Model (瀏覽器器對象模型) 操作瀏覽器將瀏覽器看做是一個對象.作用 通過js操作瀏覽器中相…

mysql 主主復制的配置流程

1、先關閉B,把A的數據導出來,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2、關閉A,啟動B,進入mysql建立一個新的數據庫 create database ibprpu3、導入數據庫 mysql -hlocalhost -uroot -p123456 &l…

華為架構師8年經驗談:從單體架構到微服務的服務化演進之路

本次分享的技術大綱如下: 傳統應用開發面臨的挑戰服務化實踐服務化不是銀彈服務化架構的演進方向一 、傳統應用開發面臨的挑戰 挑戰1-- 研發成本高 主要體現在如下幾個方面: 代碼重復率高在實際項目分工時,開發都是各自負責幾個功能&#xff…

輪播圖制作(1)

輪播圖制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此處的箭頭也可以用圖標做出來<a href"#" class"right">>…

StringUtils工具類的常用方法

StringUtils 方法的操作對象是 java.lang.String 類型的對象&#xff0c;是 JDK 提供的 String 類型操作方法的補充&#xff0c;并且是 null 安全的(即如果輸入參數 String 為 null 則不會拋出 NullPointerException &#xff0c;而是做了相應處理&#xff0c;例如&#xff0c…

struts2+extjs文件上傳完整實現(攻克了上傳中的各種問題)

版權聲明&#xff1a;本文為博主原創文章。未經博主同意不得轉載。 https://blog.csdn.net/shanhuhau/article/details/28617999 首先須要引入上傳控件 <script type"text/javascript" src"<%basePath%>/js/ext/examples/ux/fileuploadfield/FileUploa…

放大鏡制作(1)

放大鏡制作 <div class"box" id"box"><!--左側的盒子--><div class"small"><!--圖片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黃色小盒子--&…

.NET Framework 2.0 組件和非托管代碼與交互操作詳解(轉)

.NET Framework 將促進與 COM 組件、COM 服務、外部類型庫和許多操作系統服務的交互操作。在托管和非托管對象模型之間&#xff0c;數據類型、方法簽名和錯誤處理機制都存在差異。為了簡化 .NET Framework 組件和非托管代碼之間的互用并便于進行移植&#xff0c;公共語言運行時…

git 刪除遠程分支和本地分支

刪除遠程分支和本地分支 https://www.cnblogs.com/luosongchao/p/3408365.html 將遠程git倉庫里的指定分支拉取到本地&#xff08;本地不存在的分支&#xff09; https://www.cnblogs.com/hamsterPP/p/6810831.html 轉載于:https://www.cnblogs.com/mafeng/p/10619419.html