js — 對象

来源:https://www.cnblogs.com/yangjie0906/archive/2019/09/23/11405407.html
-Advertisement-
Play Games

[TOC] 1. 字元串和數值之間轉換 1.字元串轉數值 2.數值轉字元串 2. 對象(object) 2.1 對象的創建方式 1.使用對象 字面量 創建方式。 對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。 2.使用new操作符後跟Object 構造函數 2.2 訪 ...


目錄

1. 字元串和數值之間轉換

1.字元串轉數值

var str = '123.0000111';
console.log(parseInt(str));  //轉整數
console.log(typeof parseInt(str));
console.log(parseFloat(str)); //轉浮點型
console.log(typeof parseFloat(str));
console.log(Number(str));

2.數值轉字元串

var num  = 1233.006;
// 強制類型轉換
console.log(String(num));
console.log(num.toString());
// 隱式轉換
console.log(''.concat(num));
// toFixed()方法會按照指定的小數位返回數值的字元串 四捨五入
console.log(num.toFixed(2));

2. 對象(object)

2.1 對象的創建方式

1.使用對象字面量創建方式。

對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。

var obj = {};
obj.name = 'mjj';
obj.fav = function(){
    //obj
    console.log(this); // this指向的是當前的對象obj
}
obj.fav();

 //點語法 set 和get
console.log(obj.name);  //給obj.name重新賦值 或 獲取obj.name值

2.使用new操作符後跟Object構造函數

var obj2 = new Object();
console.log(obj2);
obj2.name = 'wusir';
new Array();  //構造數組
new String();  //構造字元串
new Number();  //構造數字
//ES5中 使用構造函數來創建對象
function Point(x, y) {
  this.x = x;
  this.y = y;
}

Point.prototype.toString = function () {
  return '(' + this.x + ', ' + this.y + ')';
};

var p = new Point(1, 2);
//es6用class來創建對象
class Person{
    constructor(x,y){
        this.x = x;
        this.y = y
    }
    toString(){
        
    }
    
}
var p = new Person();

2.2 訪問屬性的方法

1.點語法(推薦使用)

var person = {
    "name" : 'jack';
    "age" : 28,
    "fav" : function(){
        console.log('泡妹子');
    }
}
person.name; //jack
person.fav();//泡妹子

2.括弧表示法

person['name']; //相當於person.name;

3. 日期對象

3.1 Date對象的方法

要創建一個日期對象,使用 new 操作符和 Date 構造函數即可

var date = new Date();
    console.log(date);  //列印date對象
    console.log(Date()); //獲取本地當前時間的日期和時間
    console.log(date.getDate());  //獲取本地當前時間的日期(1-31)
    console.log(date.getMonth()+1); //獲取本地當前時間的月份(0-11)
    console.log(date.getFullYear()); //獲取本地當前時間的年份(4位數字)
    console.log(date.getDay());  //獲取本地當前時間是星期幾(0-6)
    console.log(date.getHours());  //獲取本地當前時間小時數(0-23)
    console.log(date.getMinutes()); //獲取本地當前時間分鐘(0-59)
    console.log(date.getSeconds()); //獲取本地當前時間秒數(0-59)
var date = new Date();
var weeks = ['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];
console.log(weeks[date.getDay()]);
var day = weeks[date.getDay()];
document.write(`<a href="#">${day}</a>`);

3.2 日期格式化方法

Date 類型還有一些專門用於將日期格式化為字元串的方法,這些方法如下。

  • toLocaleString()——以特定於實現的格式顯示年、月、日和時、分、秒

    var date = new Date();console.log(date.toLocaleString());  //"2019/6/4 下午4:00:32"
  • toDateString()——以特定於實現的格式顯示星期幾、月、日和年;

    var date = new Date();
    console.log(date.toDateString()); //"Tue Jun 04 2019"
  • toTimeString()——以特定於實現的格式顯示時、分、秒和時區;

    var date = new Date();
    console.log(date.toTimeString()); //"16:00:32 GMT+0800 (中國標準時間)"
  • toLocaleDateString()——以特定於地區的格式顯示年、月、日;

    var date = new Date();
    console.log(date.toLocaleDateString()); //"2019/6/4"
  • toLocaleTimeString()——以特定於實現的格式顯示時、分、秒;

    var date = new Date();
    console.log(date.toLocaleTimeString());  //"下午4:00:32"
  • toUTCString()——以特定於實現的格式完整的 UTC 日期。

    var date = new Date();
    console.log(date.toUTCString());  //"Tue, 04 Jun 2019 08:00:32 GMT"

3.3 數字時鐘案例

var timeObj = document.getElementById('time');
console.log(time);

function getNowTime() {
    var time = new Date();
    var hour = time.getHours();
    var minute = time.getMinutes();
    var second = time.getSeconds();
    var temp = "" + ((hour > 12) ? hour - 12 : hour);
    if (hour == 0) {
        temp = "12";
    }
    temp += ((minute < 10) ? ":0" : ":") + minute;
    temp += ((second < 10) ? ":0" : ":") + second;
    temp += (hour >= 12) ? " P.M." : " A.M.";
    timeObj.innerText = temp;
}

setInterval(getNowTime, 20)

4. 數學Math對象

4.1 Math 對象的屬性

Math 對象包含的屬性大都是數學計算中可能會用到的一些特殊值。下表列出了這些屬性

屬性 說明
Math.E 自然對數的底數,即常量e的值
Math.LN10 10的自然對數 ln(10)
Math.LN2 2的自然對數
Math.LOG2E 以2為底e的對數
Math.LOG10E 以10為底e的對數
Math.PI π的值
Math.SQRT1_2 1/2的平方根(即2的平方根的倒數)
Math.SQRT2 2的平方根

4.2 min()和 max()方法

min() 方法用於確定一組數值中的最小值

max() 方法用於確定一組數值中的最大值

var max = Math.max(3, 54, 32, 16);
alert(max);    //54
var min = Math.min(3, 54, 32, 16);
alert(min);    //3
// 可以用於找到數組中最大或最小值,使用apply()方法
var values = [1,2,36,23,43,3,41];
var max = Math.max.apply(null, values);
console.log(max);

4.3 舍入方法

將小數值舍入為整數的幾個方法:

  • Math.ceil() 執行向上舍入,即它總是將數值向上舍入為最接近的整數;
  • Math.floor() 行向下舍入,即它總是將數值向下舍入為最接近的整數;
  • Math.round() 執行標準舍入,即它總是將數值四捨五入為最接近的整數
var num = 25.7;
var num2 = 25.2;
alert(Math.ceil(num));//26  天花板函數
alert(Math.floor(num));//25  地板函數
alert(Math.round(num));//26
alert(Math.round(num2));//25

4.4 random()方法

Math.random() 方法返回大於等於 0 小於 1 的一個隨機數(獲取0到1之間的數)

// 獲取min到max的範圍的隨機整數
function random(min,max) {
    return min+Math.floor(Math.random()*(max-min))
}
console.log(random(100, 400));

5. 流程式控制制

5.1 if條件判斷語句

var score = 100;
if(score > 80){
   console.log('可以吃雞了');
}else if(){
    console.log('在家呆著');
}else if{

}else{
    
}

5.2 三元運算符

三元運算符它解決了像if..else塊較少的代碼。如果你只有兩個通過true/false條件選擇。語法如下:

(codition) ? run this code : run this code instead;

讓我們看一下極簡的例子:

var isResult  =  1 > 2 '真的' : '假的' ;

我們知道1是不大於2的,它返回了假的。所以isResult的值為'假的'

5.3 switch語句

var weather = prompt('請輸入今天的天氣');
switch (weather) {
    case '晴天':
        console.log('可以去打籃球');
        break;
    case '下雨':
        console.log('可以睡覺');
        break;
    default:
        console.log('學習');
        break;
}

4.== 與 === 的區別

var a = 2;
var b = '2';
console.log(a == b);//比較的是值,
console.log(a === b); //比較是值和數據類型

6. 迴圈

1.for迴圈

var arr = [8,9,0];
//1.初始化迴圈變數  2.迴圈條件  3.更新迴圈變數
for(var i = 0;i < arr.length; i++){
    console.log(arr[i]);
}

2.while迴圈

// 列印1-100之間的數字
var a = 1;
while(a <= 100){
    console.log(a);
    a+=1;
}

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

-Advertisement-
Play Games
更多相關文章
  • 建表語句: 報錯: 原因: 我這裡使用 api,method 來做 api 表的聯合主鍵,此時會根據這兩個欄位建立索引,charset 是 utf8 ,也就是一個字元3個位元組, 那麼總共索引的位元組為: 500*3+50*3 = 1650 個位元組,而mysql 要求的索引是 767 個位元組。 解決: ...
  • 一、操作資料庫1.1 創建資料庫1.2 查看資料庫1.3 修改資料庫1.4 刪除資料庫1.5 選擇資料庫二、操作表2.1 創建表2.2 查看表2.3 修改表2.4 刪除表三、操作表記錄CRUD3.1 INSERT3.2 UPDATE3.3 DELETE3.4 SELECT四、備份恢複數據庫五、多表設... ...
  • //從頭截取 update 表名 set 表列名 =SUBSTRING(表列名,1,目標位置數值) //!計數從1開始,從左往右 where 條件 //條件自己選擇,不加where條件會更新所有行,請特別註意 //截取中間部分 update 表名 set 表列名 =SUBSTRING(表列名,目標位 ...
  • 前言 開心一刻 我要飛的更高,飛的更高,啊! 謂詞 SQL 中的謂詞指的是:返回值是邏輯值的函數。我們知道函數的返回值有可能是數字、字元串或者日期等等,但謂詞的返回值全部是邏輯值(TRUE/FALSE/UNKNOW),謂詞是一種特殊的函數。關於邏輯值,可以查看:神奇的 SQL 之溫柔的陷阱 → 三值 ...
  • "使用CoordinatorLayout打造各種炫酷的效果" "自定義Behavior —— 仿知乎,FloatActionButton隱藏與展示" "NestedScrolling 機制深入解析" " 一步步帶你讀懂 CoordinatorLayout 源碼" "自定義 Behavior 仿新浪微 ...
  • 近期有空,玩轉React Native。 https://github.com/andyc365/ReactNativeMessager React Native Messager A React Native based cross-platform messenger(Messager) app ...
  • 用redux有一段時間了,感覺還是有必要把其相關的知識點系統的總結一下的,畢竟好記性不如爛筆頭。上篇博客更新了關於《ES6中的迭代器、Generator函數以及Generator函數的非同步操作》的內容,該內容時saga的基礎,稍後會總結saga相關知識點。循序漸進,本篇博客主要總結的是Redux相關 ...
  • 1. 一級函數 first class functions 1. 函數是一個對象 1. 2. 函數是一級函數,函數可以 1. 存儲在變數中\(函數表達式\) 2. 從一個函數返回 3. 作為參數傳遞給另一個函數\(回調\) 3. 高階函數 higher order function 1. 返回另一個 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...