從零開始學習前端JAVASCRIPT — 3、JavaScript基礎Math和Date對象的介紹

来源:https://www.cnblogs.com/witkeydu/archive/2018/01/25/8345085.html
-Advertisement-
Play Games

Math對象的介紹 1:Math對象 Math 對象用於執行數學任務。並不像 Date 和 String 那樣是對象的類,因此沒有構造函數 Math()。您無需創建它,通過把 Math 作為對象使用就可以調用其所有屬性和方法。 2:Math屬性 PI:返回圓周率(約等於3.14159)。 3:Mat ...


Math對象的介紹

 


1:Math對象

Math 對象用於執行數學任務。並不像 Date 和 String 那樣是對象的類,因此沒有構造函數 Math()。您無需創建它,通過把 Math 作為對象使用就可以調用其所有屬性和方法。


 2:Math屬性

PI:返回圓周率(約等於3.14159)。


 3:Math方法

Math.round(3.6);   // 四捨五入。

Math.random();     // 返回大於等於0到小於1之間的隨機數。

// 隨機數如何設定範圍
// 0 - 100(包含)之間的隨機值—Math.round四捨五入
console.log(Math.round(Math.random() * 100));
// 0 - 99(包含)之間的隨機值—Math.floor向下取整
console.log(Math.floor(Math.random() * 100));
// 1 - 100(包含)之間的隨機值—Math.ceil向上取整
console.log(Math.ceil(Math.random() * 100));
// 100 - 1000(包含)之間的隨機值
// 求兩個值之間的隨機數
/*function random(x, y) {
	return Math.round(Math.random() * (y - x)) + x;
}
*/
console.log(Math.round(Math.random() * (1000 - 100)) + 100);

Math.max(a, b);    // 返回較大的數值。

Math.min(a, b);    // 返回較小的數值。

Math.abs(num);     // 返回絕對值。

Math.ceil(3.6);    // 向上取整。4

Math.floor(3.6);   // 向下取整。3

Math.pow(x, y);    // x的y次方。

Math.sqrt(num);    // 開平方。


 4:三角函數複習

Math.sin(x);       // x的正弦值,返回值在-1到1之間。

Math.cos(x);       // x的餘弦值,返回值在-1到1之間。


 

附錄: 

勾股定理:

var a = 3, b = 4;
var c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
console.log(c);

三角函數:

var degree = 60;
var rad = Math.PI / 180 * degree;
console.log(Math.ceil(Math.sin(rad) * 10) / 10);
console.log(Math.floor(Math.cos(rad) * 10) / 10); 

 

Date日期對象的介紹

 


 

1:日期對象

定義:JS DATE使用UTC(國際協調時間)1970,1,1,0,0,0,0所經過的毫秒數。

在JS中日期也是它的內置對象,所以我們要對日期進行獲取和操作,必須實例化對象。


 2:創建日期對象

var oDate=new Date();

將會包含本地時間的信息,包括年月日時分秒 星期。

可以傳入參數的格式:

1.“時:分:秒 月/日/年”、“月/日/年 時:分:秒”、“年/月/日”等字元串。

var oDate = new Date('12:12:12 12/12/2017'); //“時:分:秒 月/日/年”
var oDate = new Date('12/14/2017 12:12:12'); //“月/日/年 時:分:秒”
var oDate = new Date('2017/12/14'); //“年/月/日”等字元串

2.年,月,日,時,分,秒。註意不能加“”。月是從0開始算的。

var oDate = new Date(2017, 11, 12, 13, 24, 36); // 0代表1 

3.時間戳。

var oDate = new Date(1516775284475); 

 3:日期對象獲取信息的方法

註:月份和星期都是從0開始計算的。

getDate():從 Date 對象返回一個月中的某一天 (1 ~ 31)。

getMonth():從 Date 對象返回月份 (0 ~ 11)。

getFullYear():從 Date 對象以四位數字返回年份。

getDay():從 Date 對象返回一周中的某一天 (0 ~ 6)。 其中0代表星期日。

getYear():請使用 getFullYear() 方法代替。由 getYear() 返回的值不總是 4 位的數字!對於介於 1900 與 1999 之間的年份,getYear() 方法僅返回兩位數字。對於 1900 之前或 1999 之後的年份,則返回 4 位數字!ECMAscript已經不再要求使用該函數

getHours():返回 Date 對象的小時 (0 ~ 23)。

getMinutes():返回 Date 對象的分鐘 (0 ~ 59)。

getSeconds():返回 Date 對象的秒數 (0 ~ 59)。

getMilliseconds():返回 Date 對象的毫秒(0 ~ 999)。

getTime():返回 1970 年 1 月 1 日至今的毫秒數。


 4:日期對象設置信息的方法

setDate():設置 Date 對象中月的某一天 (1 ~ 31)。

setMonth():設置 Date 對象中月份 (0 ~ 11)。

setFullYear():設置 Date 對象中的年份(四位數字)。

setYear() 請使用 setFullYear() 方法代替。如果 year 參數是兩位的數字,比如 setYear(91),則該方法會理解為 1991。如果要規定 1990 年之前或 1999 年之後的年份,請使用四位數字。 ECMAscript已經不再要求使用該函數

setHours():設置 Date 對象中的小時 (0 ~ 23)。

setMinutes():設置 Date 對象中的分鐘 (0 ~ 59)。

setSeconds():設置 Date 對象中的秒鐘 (0 ~ 59)。

setMilliseconds():設置 Date 對象中的毫秒 (0 ~ 999)。

setTime():以毫秒設置 Date 對象。


 5:關於日期對象的常用操作

1:將日期格式化成字元串。

2:將指定格式字元串轉化成日期對象。

3:日期字元串轉為毫秒數。

4:計算兩個日期的時間差值。

5:日期函數封裝(dateUtil.js)(封裝常見功能)


 6:延時器和定時器

延時器:

語法:setTimeout(函數或者代碼串,指定的時間(毫秒));

在指定的毫秒數後只執行一次函數或代碼。

清除延遲器:clearTimeout();

var timer3 = setTimeout(function () {
	console.log('蹦!');
} , 3000);

setTimeout(function () {
	clearTimeout(timer3);
}, 2000);

  setTimeout()調用函數的寫法方式,也可去掉引號

function print() {
	console.log('你好');
}
setTimeout('print()', 3000);//此寫法如果在window.onload調用,建議放到匿名函數,
//涉及到作用域的問題,js運行到此報錯,也可調整js引用的位置

  

  定時器:

語法:setInterval(函數或者代碼串,指定的時間(毫秒));

按照指定的周期(毫秒)不斷的執行函數或者是代碼串。

清除定時器:clearInterval(); 

var num = 6;
var timer = setInterval(function () {
	console.log(--num);

	if(num === 0) {
		clearInterval(timer);
	}
}, 1000);

 

  

 


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

-Advertisement-
Play Games
更多相關文章
  • 1、安裝IntelliJ IDEA IDEA 全稱 IntelliJ IDEA,是java語言開發的集成環境,IntelliJ在業界被公認為最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、創新的GUI設計等方面的功能可以說是 ...
  • 想要瞭解廣播定義及相關原理的可以看下這一篇BroadcastReceiver史上最全面解析 簡單地對廣播進行分類吧,廣播有兩個角色,一個是廣播發送者,另外一個是廣播接收者 廣播按照類型分為兩種,一種是全局廣播,另外一種是本地廣播 全局廣播的意思就是發出的廣播可以被其他任意的應用程式接收,或者可以接收 ...
  • 1. 添加一個 Podfile 文件 在終端先找到你要放入 Podfile 的文件路徑: cd 文件路徑 然後敲入: 就會給你建立好一個 Podfile 文件 ...
  • 先整理出時間相關的程式,以後有空再寫成單例。 1、日曆(NSCalendar) 2、時間格式() 3、時間戳 1、日曆(NSCalendar) 1、想要獲取 世紀、年、月、日、時、分、秒、星期 等信息,需要加入對應的枚舉。 2、時間格式() 3、時間戳 ...
  • 1.增量升級的原理 增量更新的原理就是將本地apk與伺服器端最新版本比對,並得到差異包。比如現在的版本是1.1.4,大小是7.2M,新版本是1.1.5.大小是7.3M。我們發現兩個版本只有0.1M的差異,這樣我們如果採用增量升級生成0.1M左右的差異包,這樣用戶只需要下載0.1M的差異包進行升級而不 ...
  • Android Studio 在引用外部依賴時,發現一直無法引用外部依賴。剛開始以為是牆的問題,嘗試修改Gradle配置,未解決問題。 最終發現原來是在Android Sudio安裝優化配置時,將Gradle設置為了離線工作模式 解決方法:只需打開File->Settings->Build,Exec ...
  • 0、寫在前面 1、小技巧 UILabel類: 1-1-1)、設置行間距富文本,有省略號要求的,需要再次設置省略(初始化時設置的會失效)。 UITextField類: 1-2-1)、清空按鈕。 UITextView類: 1-3-1)、UITextView只能x軸居中,y軸需要手動調。 UITextFi ...
  • 繼承 所謂繼承就是子類繼承父類的特征與行為,使得子類對象具與父類相同的行為。但是javascript 是沒有class、抽象類、介面等抽象概念,javascript 只有對象,那麼js中是如何讓對象與對象之間產生繼承關係呢? 基於對象的繼承 在原型鏈中說過,如果在對象上沒有找到需要的屬性或者方法引用 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...