javaScript第七天(2)

javaScript基礎

? 對象其他部分 [理解]

  • 自定義構造函數創建對象[掌握]

    //繼續簡化 自定義構造函數
    function People(uName, uAge) {this.uName = uName;this.uAge = uAge;
    }
    // 如何通過自定義構造函數創建對象?
    var zs = new People('張三', 20);
    console.log(zs);
    
    • 注意事項:
      1. 自定義構造函數的命名規則要遵守帕斯卡命名法(單詞的首字母大寫)
  • this關鍵字

    this 關鍵字到底指的是誰?
    口訣: 誰調用函數(構造函數), this 就指向誰(就是誰)普通函數中的 this 關鍵字指向的就是 window對象
    function fn() {console.log(this);
    }
    window.fn();   // 因為我們平時調用函數時候, window對象省略在對象的方法中 this 關鍵字指向的就是 當前這個對象
    var  obj = {//方法eat:function() {console.log(this);  // 指向的是當前對象}
    }obj.eat(); 
    
  • new關鍵字執行過程
    在這里插入圖片描述

    1. 先執行 new 關鍵 ----> 內存中開辟一個空間(空對象)
    2. 將用戶的實參信息通過形參賦值給 空對象中 this 關鍵字
    3. 給 this 關鍵字 賦值
    4. 將this 關鍵字 最后指向 創建的對象
  • 遍歷對象[掌握]

    語法:
    for(in  對象) {對象[];
    }例如:var obj = {uname: 'asd',age : 34,uheight: 180,color: 'red',weight: 70}// key 是一個變量, 這個變量中保存的就是 obj 對象中的所有屬性for(key in obj) {//獲取對象的值console.log('屬性名:' +key + '對應的值:' + obj[key]);}
  • instanceof關鍵字[以了解為主]

    instanceof :  判斷當前對象 是否是 某個構造函數創建的  (判斷孩子是不是某個人的骨肉)
    typeof :  獲取數據類型
    

在這里插入圖片描述

  • 簡單數據類型在內存中的存儲方式

    簡單數據類型,在內存的棧上保存的, 棧區中保存的就是變量的一個具體的值
    
  • 復雜數據類型在內存中的存儲方式

    復雜數據類型(對象), 在內存的堆上保存的, 復雜數據類型在內存中保存的是一個地址
    

在這里插入圖片描述

 function Person ( name, age ) {this.name =  name; this.age = age;this.sayHi = function () {console.log( "你好" );}}var p1 = new Peron( "張三", 18 );function getperson ( person ) {person.name = "李四";}getperson( p1 );console.log( p1.name );   思考: p1 的name值是什么?

在這里插入圖片描述

1. 知識點-內置對象

  • 為什么要學內置對象?

    內置對象中已經幫助我們是實現相關的方法(數學, 時間 ....), 提高代碼效率
    
  • 什么是內置對象?

    內置對象: js中本身已經具有的對象, 不需要我們手動創建,直接調用.
    
  • 內置對象要學什么?怎么學?

    ? 各種方法
    ? 屬性
    學習的方式: 通過查詢手冊實現
    手冊地址:  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
    

2. 知識點-內置對象Math

  • Math內置對象

    提供了與數學操作相關的方法和屬性
    
    • 屬性: Math.PI 獲取圓周率

      獲取圓周率
      
    • 方法:

      • 求一個數字的冪數(幾次方)

        Math.pow(x, y)
        
      • 獲取一組數字的最大值

        Math.max()
        
      • 獲取一組數字中的最小值

        Math.min();
        
      • 求一個數字的絕對值

        Math.abs();
        
      • 求一個數字的四舍五入運算

        Math.round()注意一點: 該方法返回的是一個整數
        
      • 隨機數

        Math.random()       大于等于 0  小于 1
        
      • Math.floor()

      • Math.ceil()

3. 知識點-內置對象數組

  • 數組難到也是對象?數組也是內置對象?

    var  ary  = new Array();
    
  • 數組添加值 push() unshift()

    1. push() 方法

      通過 push()方法可以向數組中同時添加一個或者多個值,添加到數組的末尾
      
    2. unshift()方法

      通過 unshift()方法可以向數組中同時添加一個或者多個值, 添加到數組的開始位置
      
  • 刪除(取值)數組中的值 pop() shift()

    1. pop()方法

      pop() 方法從數組中刪除某個值, 從數組中從后向前刪除, 返回值就是刪除的值
      
    2. shift()方法

      shift() 方法將數組中某個值刪除, 從數組的開始位置向后刪除,返回的結果也是刪除的值
      
  • 翻轉數組 reverse()

    reverse() 翻轉數組, 返回值就是翻轉后的數組
    
  • join()

    將數組中的值以一個分割符拼接成一個字符串, 返回的結果就是一個字符串
    
  • indexOf()、lastIndexOf()

    1. indexOf()方法

      indexOf() 從數組中查找值對應的索引位置, 如果找到這個值,那么就返回值對應的索引位置, 如果沒有找到,返回的結果就是 -1indexOf()可以設置第二個參數, 第二個參數可以設置也可以不用設置,代表的意思從哪開始找, 如果找到則返回對應的索引,否則返回-1
      
    2. lastIndexOf() 方法

      lastIndexOf() 從數組中查找值對應的索引位置lastIndexOf()也可以設置第二個參數, 二個參數的作用與indexOf()中第二參數的作用一樣.
      
    3. 區別

      • indexOf() 從數組的前 向 后 找
      • lastIndexOf() 從數組的后向前找
    4. 補充: 判斷一個值是不是數組 Array.isArray(obj)

4. 知識點-內置對象字符串

  • 字符串特性:

    不可變特性, 字符串在內存中的位置空間.
    在程序中大量拼接字符串會有什么問題?  ---> 浪費內存 (由于字符串不可變特性)
    
  • 獲取指定位置處的字符

    charAt(索引值)
    注意: 字符串中的索引位置從 0 開始
    
  • 截取字符串 [重點]

    ? slice(startIndex[, end])// slice()// console.log(str.slice(6));// slice(starindex);//參數starindex代表從字符串中哪個位置開始截取,默認是到字符串的結尾處// console.log(str.slice(6, 8));// slice(startindex, endindex)// 參數: startindex 從哪開始截取// 參數: endindex  截取字符串到哪結束[不包括這個值]? substring(startIndex[,end]); //substring()截取字符方法與slice方法一樣? substr(startIndex[, length])// substr(startindex, length)// 參數: startindex 代表從字符串的哪個位置開始截取, 默認到字符串的結束位置
    // 參數: length 代表的是要從字符串中一共截取多少個
    
  • 拼接字符串

    concat()  ====> 將字符串拼接到一塊, 返回一個新的字符串
    
  • 替換

    replace('targetElement', 'element')   ====> 返回的結果也是字符串
    
  • 去除空白

    trim()    ====> 將字符串的首尾空白去掉
    
  • indexOf(字符) lastIndexOf(字符)

    indexOf(字符)	: 都是用來獲取字符串中對應字符的索引位置, 從左向右查找, 如果找到那么就直接返回對應的索引位置, 如果沒有找到,那么就返回-1lastIndexOf(字符) : 都是用來獲取字符串中對應字符的索引位置, 從后向前找, 如果找到那么就直接返回對應的索引位置, 如果沒有找到,那么就返回-1備注:
    1. indexOf(字符)lastIndexOf(字符)  支持第二參數的設置,如何設置了第二個參數,那么代表從指定的位置起,向后(向前)查找
    

    ====> 將字符串的首尾空白去掉

    
    
  • indexOf(字符) lastIndexOf(字符)

    indexOf(字符)	: 都是用來獲取字符串中對應字符的索引位置, 從左向右查找, 如果找到那么就直接返回對應的索引位置, 如果沒有找到,那么就返回-1lastIndexOf(字符) : 都是用來獲取字符串中對應字符的索引位置, 從后向前找, 如果找到那么就直接返回對應的索引位置, 如果沒有找到,那么就返回-1備注:
    1. indexOf(字符)lastIndexOf(字符)  支持第二參數的設置,如何設置了第二個參數,那么代表從指定的位置起,向后(向前)查找
    

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

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

相關文章

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

強烈推薦:《機器學習》 (西瓜書) 入門讀物: 《深入淺出數據分析》 這書挺簡單的,基本的內容都涉及了,說得也比較清楚,最后談到了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

從零開始實現ASP.NET Core MVC的插件式開發(四) - 插件安裝

標題&#xff1a;從零開始實現ASP.NET Core MVC的插件式開發(四) - 插件安裝 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/11343141.html 源代碼&#xff1a;https://github.com/lamondlu/Mystique 前情回顧 從零開始實現ASP.NET Core MVC的插…

立體導航翻轉案例

<div class"box"><!-- 立方體 --><ul><li><img src"img1/1.jpg" alt""></li><li><img src"img1/2.jpg" alt""></li><li><img src"img1/3.jpg" a…

Uncontrolled memory mapping in camera driver (CVE-2013-2595)

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主同意不得轉載。https://blog.csdn.net/hu3167343/article/details/34434235 /* 本文章由 莫灰灰 編寫&#xff0c;轉載請注明出處。 作者&#xff1a;莫灰灰 郵箱&#xff1a; minzhenfei163.com */ 1漏洞描寫…

表格隔行變色

<body><table border"0" align"center" cellspacing"1" cellpadding"0"><caption>恭喜發財</caption><thead><tr><th>代碼</th><th>名稱</th><th>最新公布凈值<…

啟動Cognos時報0106錯誤

1. 問題描述 啟動Cognos失敗&#xff0c;報錯代碼為0106。 2. 問題分析 是jdk版本不兼容。 3. 解決方案 方案一&#xff1a;更換jdk1.6&#xff0c;可以使用免安裝版&#xff0c;不需要卸載原有的jdk將java_home的路徑替換成jdk1.6的路徑。 方案二&#xff1a;使用Cognos自帶jd…

項目管理的測試版發布

最近有時間將以前沒有寫完的項目管理程序進一步完善&#xff0c;加入了項目任務之間的關連。功能&#xff1a;1、任務的關連Start to finishStart to startFinish to startFinish to finish2、任務關連表環路檢測3、采用MVC模式進行開發4、自動導出XML5、雙擊連接線可以設置、刪…