【JavaScript】基本類型和引用類型的值、引用類型

来源:https://www.cnblogs.com/lovecsharp094/archive/2018/02/09/8431368.html
-Advertisement-
Play Games

一、前言 接著上一篇繼續記筆記 二、內容 動態的屬性 傳遞參數 沒有塊級作用域 Object類型 Array類型 Date類型 RegExp類型 Function類型 Number類型 String類型 Math對象 ...


一、前言

       接著上一篇繼續記筆記

 

二、內容

        動態的屬性

var person = new Object();
person.name = "Nicholas";
alert(person.name);  //"Nicholas"

不能給基本類型的值添加屬性
var name = "Nicholas";
name.age = 27;
alert(name.age); //undefined        

         傳遞參數

function setName(obj){
    obj.name = "Nicholas";

//以下為局部對象,毫無作用
obj = new Object();
obj.name = "Greg"; }

        沒有塊級作用域

if(true){
   var color = "blue";
}
alert(color);  //"blue"



for(var i=0;9<10;i++){
doSomething(i);
}
alert(i); //10

      Object類型

var person = {
    name : "Nicholas",
    age : 29
5 : true
};

alert(person["name"]);
alert(person.name)

     Array類型

var colors = new Array();
var colors = new Array(20);
var colors = new Array("red","blue","green");

var colors = ["red","blue","green"];
var colors = [];

//基本方法
Array.isArray(object); 是否為數組

//隊列方法
array.push(“item1”,“item2”); 向數組末尾添加若幹元素 並 返回修改後的數組長度
array.pop(); 從數組末尾移除最後一項 並 返回移除的項
array.shift(); 從數組取得第一項
array.unshift(“item1”,“item2”); 向數組的頭部添加任意個項 並 返回新數組的長度

//重排序方法
array.reverse(); 反轉數組順序
array.sort(); 排序

//操作方法
array.concat("item1",["item2","item3"]); 連接其它元素 並 返回新數組
array.slice(startIndex,endIndex); 從數組中抽取數組
array.splice(startIndex,howmany,"item1","item2",..) 刪除(前兩個參數),插入(第2個參數設為0),替換

//位置方法
array.indexOf(element) //從數組頭部開始找
array.lastIndexOf(element) //從數組尾部開始找

//迭代方法
array.every(function(item,index,array)) //每一項都返回true,則返回true
array.filter(function(item,index,array)) //返回符合function條件的數組
array.forEach(function(item,index,array)) //無返回值
array.map(function(item,index,array)) //返回每次函數調用的結果組成的數組
array.some(function(item,index,array)) //任一一項返回true,則返回true

//歸併方法
array.reduce(function(prev.cur.index.array)) //從數組第一項迭代所有項 並 返回一個值
array.reduceRight(function(prev.cur.index.array)) //從數組最後一項迭代所有項 並 返回一個值

      Date類型

var now = new Date();

     RegExp類型

var expression = / pattern / flags;
var re = new RegExp(pattern, flag);

flag: g——全局模式,應用於所有字元串
i——不區分大小寫
m——多行模式

var matches = regExp.exec(text) //返回包含第一個匹配信息的數組
matches.index —— 匹配項在字元串中的位置
matches.input —— 輸入的字元串

regExp.test(text) —— 目標字元串與某個模式是否匹配

     Function類型

function c(propertyName){
    return function(object1,object2){
         var value1 = object1[propertyName];
         var value2 = object2[propertyName];

         if(value1 < value2){
              return -1;
         }else if (value1 > value2){
              return 1;
         }else{
              return 0;
         }
   }
}

//調用
var s = c("name");
var result = s(a,b);

//在特定的作用域中調用函數
obj.call(thisobj,arg1,arg2,...);
obj.apply(thisobj,[arg1,arg2,...]);
obj.bind(thisObj,arg1,atg2);

      Number類型

Number類型的實例化對象提供了
number.toFixed(n) —— 按指定的小數位返回數值的字元串表示
number.toExponential(n) —— 返回指數表示法,能指定小數位

     String類型

string.substring(startIndex, endIndex) —— 根據頭尾位置返回一個字元串
string.substr(startIndex, length) —— 根據頭位置與長度返回一個字元串
string.indexOf("s",index) —— 從字元串頭部開始,返回某字元在字元串中的索引,第二個參數指定從哪個索引開始檢索
string.lastIndexOf("s",index) —— 從字元串尾部開始,返回某字元在字元串中的索引,第二個參數指定從哪個索引開始檢索

string.match(pattern) —— 字元串根據正則返回數組
string.search(pattern) —— 字元串根據正則返回第一個匹配項的索引
string.replace(oldstring.newstring) —— 只替換第一個符合的,如果替換全部則第一個參數需要使用正則

      Math對象

Math.min()
Math.max()
Math.ceil() —— 執行向上舍入
Math.floor() —— 執行向下舍入
Math.round() —— 執行標準舍入
Math.random() —— 方法返回大於等於0小於1的一個隨機數

 


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

-Advertisement-
Play Games
更多相關文章
  • 做前端的人都知道,目前熱門前端的框架是 VAR = Vue,Anglur,React。 而如果說最熱門的前端框架是誰,毫無懸念是 "React" React 是由 Facebook 主導開發的一個 JavaScript 框架。學習 React 需要你擁有基本 "JavaScript" 和 "HTML ...
  • http: Hypertext transform protocol 超文本傳輸協議 是一個為了傳輸超媒體文檔(比如html)的應用層協議 是為了web的瀏覽器跟web的server端的交流而設計的,他使瀏覽器更加高效,使網路傳輸減少 明文的,不加密 預設埠是80 https:Hypertext ...
  • 一、前言 接著上一篇的內容,繼續學習JavaScript。 二、內容 函數的聲明 遞歸 閉包 塊級作用域 ...
  • 重新複習了一下js,鞏固下知識,如果2個操作數進行按位與,按位或,按位異或,左移,有符號的右移以及無符號右移,應用的本質就是將操作數轉化成二進位進行操作。例如:(1)按位與: 25&3 =1;緣由就是25的二進位數是11001;3的二進位數是0011,這裡說明一下操作符位數是32位。 25的二進位是 ...
  • 一、前言 接著上一篇的內容,繼續JavaScript的學習。 二、內容 屬性類型 創建對象 繼承 ...
  • 看到一個這樣子的面試題: 給String對象添加一個方法,傳入一個string類型的參數,然後將string的每一個字元間加空格返回,例如:addSpace("hello world") //->'h e l l o w o r l d'. 第一眼看這道題目覺得出的很有問題, 既然給String中添 ...
  • 本文最初發表於 "博客園" ,併在 "GitHub" 上持續更新 前端的系列文章 。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 前言 本文主要內容: 過渡:transition 2D 轉換 transform 3D 轉換 transform 動畫:animation 過渡:tra ...
  • function isIE(_version){ _version = _version || ''; var b = document.createElement('b'); b.innerHTML = '<!--[if IE ' + _version + ']>1<![endif]-->'; r ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...