從零開始學習前端JAVASCRIPT — 4、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
更多相關文章
  • 說實話,極光推送接觸過好幾遍了,但是每次開發都是實現簡單的展示功能,最近接手的一款app要求只在後臺展示,還要實現點擊通知欄跳轉到相應的詳情界面,於是便以為很簡單的開始了,而且還很嗨的那種,以為自己沒問題了(當時自己用的iOS10以上的iPhone)。但是最後測試階段,出現各種問題,各種調試都不行, ...
  • 現象描述 當我們打開京東 app 進入首頁,如果當前是沒有網路的狀態,裡面的按鈕點擊是沒有反應的。只有當我們打開網路的情況下,點擊按鈕才能跳轉頁面,按照我們一般人寫代碼的邏輯應該是這個樣子: 上面這段代碼看似沒有任何問題,完全滿足京東的網路處理需求,就寫一個 if(有網) 跳轉到下一個頁面,沒網就不 ...
  • 1.$ ruby -v //查看當前的ruby版本,我的版本是ruby 2.0.0p648 小於2.2 所以在下麵的安裝cocoapods時會遇到問題 2. $ gem sources -l //查看當前ruby源,預設為 https://rubygems.org/ 因為防火牆的問題我們需要更換成國 ...
  • 一天了,都下著很冷很冷的雨啊...氣溫下降了很多喲,小伙伴們要照顧好自己( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ 今天還是沒有能堅持2個小時的學習時間,每天晚上拿出2個小時來學前端很難麽?不難啊,真的不難啊,為什麼做不到呢???總是被各種各樣的事情耽誤,自己沒有跳脫一種狀態的環境,明明知道應該來圖書館自習 ...
  • 為了把JQuery搞熟悉,看著菜鳥教程,一個一個例子打,邊看邊記,算是一晚上的一個小總結吧。加油,我很本但是我很勤奮啊。系統的瞭解它,就要花時間咯。 ...
  • 一、Vue介紹 二、使用VUE 1、引入vue.js文件 2、通過下麵的代碼展示用,創建一個Vue的實例,然後通過應用的id嵌入根元素,將數據放入一個對象data中,並且將表達式傳入div中{{msg}}(一定註意必須是雙大括弧) 三 、指令 指令:帶有首碼 v-,以表示它們是 Vue 提供的特殊特 ...
  • 1:DOM(Document Object Model)的概念和作用 document對象是DOM核心對象:對html中的內容,屬性,樣式進行操作。 節點樹中節點之間的關係:父子,兄弟。 2:DOM常用屬性 title:返回或設置當前文檔的標題。 all:返回所有元素的集合。 forms:返回對文檔 ...
  • 1:BOM(Browser Object Model)概念 window對象是BOM中所有對象的核心。 2:window屬性(較少用) self:self代表自己,相當於window。 parent:返回父視窗。 top:返回頂層視窗,和parent作用一樣。 opener:視窗開啟者。 3:win ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...