JavaScript:單體內置對象

来源:http://www.cnblogs.com/xiaoxiaoyihan/archive/2016/06/05/5561192.html
-Advertisement-
Play Games

JavaScript中定義了兩個單體內置對象:Global和Math。 Global對象 Global對象是JavaScript中最特別的一個對象。不屬於任何其他對象的屬性和方法,最終都是它的屬性和方法。實際上,沒有全局變數或全局作用域,所有在全局作用域中定義的屬性和函數,都是Global對象的屬性 ...


JavaScript中定義了兩個單體內置對象:Global和Math。

Global對象

Global對象是JavaScript中最特別的一個對象。不屬於任何其他對象的屬性和方法,最終都是它的屬性和方法。實際上,沒有全局變數或全局作用域,所有在全局作用域中定義的屬性和函數,都是Global對象的屬性。

Global對象包含了一些有用的方法:

1.URI編碼方法

Global對象的encodeURI()encodeURIComponent()方法可以對URI進行編碼,encodeURI()主要用於整個URI,而encodeURIComponent()主要用於對URI中的某一段進行編碼。

var uri = "http://www.cnblogs xxyh.com#login";
alert(encodeURI(uri));          // "http://www.cnblogs%20xxyh.com#login"
alert(encodeURIComponent(uri)); // "http%3A%2F%2Fwww.cnblogs%20xxyh.com%23login"

encodeURI()不會對本身屬於URI的特殊字元進行編碼(如,冒號、正斜杠、問號和井號),encodeURIComponent會對發現的任何非標準字元進行編碼。

encodeURI()encodeURIComponent()對應的有兩個解碼方法decodeURIdecodeURIComponent

var uri = "http%3A%2F%2Fwww.cnblogs%20xxyh.com%23login";
alert(decodeURI(uri));      // "http%3A%2F%2Fwww.cnblogs xxyh.com%23login"
alert(decodeURIComponent(uri)); // "http://www.cnblogs xxyh.com#login"

其中,decodeURI()只能對使用encodeURI()替換的字元進行解碼。decodeURIComponent能夠對encodeURIComponent()進行解碼。

2.eval()方法

eval()只接受一個參數,即要執行的JavaScript字元串,例如:

eval("alert('hello')");

上面這行代碼等價於:

alert("hello");

當解析器調用eval()方法時,會將傳入的參數作為實際的JavaScript語句解析,然後將執行結果插入原來的位置。通過eval()執行的代碼被認為是包含該次調用的執行環境的一部分,因此被執行的代碼具有與該執行環境相同的作用域鏈。這意味著通過eval()執行的代碼可以引用在包含環境中定義的變數。

var msg = "good morning";
eval("alert(msg)");        // "good morning"

同樣地,可以在eval()中定義一個函數,然後再在該調用的外部引用這個函數:

eval("function sayHi() {alert('hello')}");

對於變數也是一樣:

eval("var msg = 'hello world'");
alert(msg);        // "hello world"

在eval()中創建的任何變數或函數都不會被提升,在解析代碼時,它們被包含在一個字元串中;只有在eval()執行時才創建。

3.window對象

JavaScript沒有指出如何直接訪問Global對象,但是web瀏覽器都是將它作為window對象的一部分加以實現的。因此,在全局作用域中聲明的所有變數和函數,都稱為window對象的屬性。

var color = "red";
function sayColor() {
    alert(window.color);
}
window.sayColor();

上面定義了一個全局變數color和全局函數sayColor()方法,在函數內部通過window.color來訪問color變數,說明全局變數color是window對象的屬性。然後通過window.sayColor()來調用sayColor()方法,說明sayColor()是window對象的方法。

取得Global對象的方法:

var global = function () {
    return this;
}();

Math對象

JavaScript提供了Math對象,用於提供快速的計算功能。

1.Math對象的屬性

Math對象的屬性大多是一些數學計算中的特殊值。

2.min()和max()方法

min()和max()方法用於確定一組數值中的最小值和最大值。這兩個方法都可以接收任意多個數值參數。

var max = Math.max(4,89,65,34);
alert(max);    // 89

var min = Math.min(4,89,65,34);
alert(min);

查找數值中的最大值和最小值,可以使用如下的方式調用apply()方法:

var values = [4,89,65,34];
var max = Math.max.apply(Math, values);

3.舍入方法

  • Math.ceil():向上舍入,即進一法,只要小數位不為0就向上取整
  • Math.floor():向下舍入,即取整法,捨去小數位
  • Math.round():標準舍入,即四捨五入法

示例:

alert(Math.ceil(11.4)); // 12
alert(Math.ceil(11.5)); // 12
alert(Math.ceil(11.8)); // 12

alert(Math.floor(11.4)); // 11
alert(Math.floor(11.5)); // 11
alert(Math.floor(11.8)); // 11

alert(Math.round(11.4)); // 11
alert(Math.round(11.5)); // 12
alert(Math.round(11.8)); // 12

alert(Math.ceil(-11.4)); // -11
alert(Math.ceil(-11.5)); // -11
alert(Math.ceil(-11.8)); // -11

alert(Math.floor(-11.4)); // -12
alert(Math.floor(-11.5)); // -12
alert(Math.floor(-11.8)); // -12

alert(Math.round(-11.4)); // -11
alert(Math.round(-11.5)); // -11
alert(Math.round(-11.8)); // -12

4.random()方法

Math.random()方法返回一個隨機數(0≤r<1)。

例如,獲取一個1到10之間的整數:

var num = Math.floor(Math.random() * 10 + 1);

5.其他方法

Math對象還提供了一些完成各種個中簡單或複雜的計算。

ECMA-262 規定了這些方法,但是不同的實現可能精確度不同。


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

-Advertisement-
Play Games
更多相關文章
  • 概述 在JavaScript中,我們可以使用函數、數組、對象,以及日期、正則等一些內置類型的實例,它們都是複雜類型的表現。從本質上講,這些複雜類型都是Object類型。本篇主要的內容有3點:函數、數組和對象。 函數 函數是JavaScript的一大重點,它非常的靈活。不像C#這種強類型語言,可以顯式... ...
  • atitti.atiNav 手機導航組件的設計 1.1. 三大按鍵導航功能,back,menu ,home1 1.2. header頁頭組件,為移動頁面頂部的導航條設計。1 1.3. 頁頭主題設計1 1.1. 三大按鍵導航功能,back,menu ,home 參考Android的三大按鍵導航功能,b ...
  • 1、CSS中的clear有四個參數: none:允許兩邊都可以浮動。 left:不允許左邊有浮動。 right:不允許右邊有浮動。 both(預設);不允許有浮動。 2、一開始在CSS中clear浮動是預設both,也就是說一開始不能有浮動的。 3、使用的案例:假設我清除第三個DIV的浮動 <sty ...
  • javascript之日期對象 學習要點: 日期對象 將日期對象轉換為字元串 將日期對象中的日期和時間轉換為字元串 日期對象中的日期 日期對象中的時間 設置日期對象中的日期 設置日期對象中的時間 與毫秒相關的方法 一、日期對象 在javascript中並沒有日期型的數據類型,但是提供了一個日期對象可 ...
  • 1.寫插件部分,如下: ;(function($){ $.fn.plugin = function(options){ var defaults = { //各種屬性,各種參數 } var options = $.extend(defaults, options); this.each(functi ...
  • 源碼文件: Scrollspy.js 實現功能 1、當滾動區域內設置的hashkey距離頂點到有效位置時,就關聯設置其導航上的指定項2、導航必須是 .nav > li > a 結構,並且a上href或data-target要綁定hashkey3、菜單上必須有.nav樣式4、滾動區域的data-tar... ...
  • 首先,我們要明白原始值得概念 ...
  • javascript之Object對象 學習要點: 創建Object對象 Object對象屬性 Object對象方法 一、創建Object對象 new Object(); new Object(value);如:new Object(false);new Object("str");new Obje ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...