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
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...