JavaScript基礎(chǔ)09-內(nèi)置對象Math,Date和Array

Math對象

Math對象不是構(gòu)造函數(shù),不需要創(chuàng)建對象详恼,它是一個工具類补君,具有數(shù)學(xué)常數(shù)和函數(shù)的屬性和方法,都是以靜態(tài)成員的方式提供昧互,跟數(shù)學(xué)相關(guān)的運算就來找Math中的成員(求絕對值赚哗,取整等)

常見方法如下她紫,

方法 描述 備注
Math.PI 圓周率 Math對象的屬性
Math.abs() 返回絕對值 參數(shù)中可以接收字符串類型的數(shù)字,此時會將字符串做隱式類型轉(zhuǎn)換屿储,然后再調(diào)用 Math.abs() 方法贿讹。傳入不能轉(zhuǎn)換成number類型的數(shù)字,返回NaN
Math.random() 生成0-1之間的隨機(jī)浮點數(shù) 生成 [x, y) 之間的隨機(jī)數(shù):Math.round(Math.random()*(y-x)+x)够掠;生成 [x, y]:Math.random() * (max - min + 1)) + min
Math.floor() 向下取整(往小取值)
Math.ceil() 向上取整(往大取值)
Math.round() 四舍五入取整
Math.max(x, y, z) 返回多個數(shù)中的最大值
Math.min(x, y, z) 返回多個數(shù)中的最小值
Math.pow(x,y) 乘方:返回 x 的 y 次冪
Math.sqrt() 開方:對一個數(shù)進(jìn)行開方運算

舉幾個例子

//Math.abs() 獲取絕對值
Math.abs(-12) = 12
//Math.ceil() and Math.floor() 向上取整和向下取整
 console.log(Math.ceil(12.03));//13
 console.log(Math.ceil(12.92));//13
 console.log(Math.floor(12.3));//12
 console.log(Math.floor(12.9));//12
//Math.random()取[0,1)的隨機(jī)小數(shù) 
console.log(parseInt(Math.random()*10));//未包含10
console.log(parseInt(Math.random()*10+1));//包含10
/*Math.round() 四舍五入,正數(shù)時民褂,包含5是向上取整,負(fù)數(shù)時不包含5是向下取整疯潭。*/
var a = Math.round(-16.3) //= -16
var b = Math.round(-16.5) //= -16
var c = Math.round(-16.51) //= -17
 

Number對象

Number.isInteger()

Number.isInteger() 判斷是否為整數(shù)判斷是否為整數(shù)赊堪,

布爾值 = Number.isInteger(數(shù)字);

我們順便來了解一下toFixed()方法,

字符串 = myNum.toFixed(num);

將數(shù)字 myNum 的小數(shù)點后面保留 num 位小數(shù)(四舍五入)竖哩,并返回哭廉。不會改變原數(shù)字。注意相叁,返回結(jié)果是字符串遵绰。參數(shù) num:指定了小數(shù)點后面的位數(shù)。

Date對象

內(nèi)置對象 Date 用來處理日期和時間增淹。與 Math 對象不同椿访,Date 對象是一個構(gòu)造函數(shù) ,需要先實例化后才能使用虑润。Date 對象基于1970年1月1日(世界標(biāo)準(zhǔn)時間)起的毫秒數(shù)成玫。

創(chuàng)建Date對象

Date的參數(shù)為空的構(gòu)造函數(shù)
參數(shù)為空,返回當(dāng)前時間的毫秒數(shù)

// 獲取當(dāng)前時間拳喻,UTC世界時間哭当,距1970年1月1日(世界標(biāo)準(zhǔn)時間)起的毫秒數(shù)
var now = new Date();
console.log(now.valueOf()); // 獲取距1970年1月1日(世界標(biāo)準(zhǔn)時間)起的毫秒數(shù)

如果Date()里面寫參數(shù),就返回括號里輸入的時間對象

通過傳參的這種寫法冗澈,我們可以把時間字符串/時間數(shù)字/時間戳钦勘,按照指定的格式,轉(zhuǎn)換為時間對象渗柿。

 // 1. 毫秒數(shù) 1498099000356        
        var dateNow = new Date(1597758288773);
        console.log(dateNow.valueOf());
        
        //2. 日期格式字符串  '2020-8-18'    
        var date1 = new Date('2020-8-18')
        console.log(date1.valueOf());
        // 3. 年个盆、月脖岛、日……                
        var date2 = new Date(2020, 7, 18)   // 月份從0開始,代表8月份
        console.log(date2.valueOf());

這只是其中的一部分朵栖,Date的構(gòu)造函數(shù)有很多,參數(shù)可以是字符串柴梆,數(shù)字和時間戳陨溅。

日期的格式化

我們獲取到了 Date 對象,但這個對象绍在,打印出來的結(jié)果并不是特別直觀门扇。如果我們需要獲取日期的指定部分雹有,就需要用到 Date對象自帶的方法。獲取了日期指定的部分之后臼寄,我們就可以讓日期按照指定的格式霸奕,進(jìn)行展示(即日期的格式化)。

Date對象的方法

方法名 含義 備注
getFullYear() 獲取年份
getMonth() 獲取月: 0-11 0代表一月
getDate() 獲取日:1-31 獲取的是幾號
getDay() 獲取星期:0-6 0代表周日吉拳,1代表周一
getHours() 獲取小時:0-23
getMinutes() 獲取分鐘:0-59
getSeconds() 獲取秒:0-59
getMilliseconds() 獲取毫秒 1s = 1000ms
getTime() 獲取當(dāng)前時間戳

獲取Date時間戳的寫法

// 方式一:獲取 Date 對象的時間戳(最常用的寫法)
        const timestamp1 = +new Date();
        console.log(timestamp1); 

        // 方式二:獲取 Date 對象的時間戳(較常用的寫法)
        const timestamp2 = new Date().getTime();
        console.log(timestamp2); 

        // 方式三:獲取 Date 對象的時間戳
        const timestamp3 = new Date().valueOf();
        console.log(timestamp3); 

        // 方式4:獲取 Date 對象的時間戳
        const timestamp4 = new Date() * 1;
        console.log(timestamp4); 

        // 方式5:獲取 Date 對象的時間戳
        const timestamp5 = Number(new Date());
        console.log(timestamp5); 
        // 方式六:獲取當(dāng)前時間的時間戳(很常用的寫法)
        console.log(Date.now()); // 打印結(jié)果舉例:1589448165370

***我們可以在業(yè)務(wù)代碼的前面定義 時間戳1质帅,在業(yè)務(wù)代碼的后面定義 時間戳2。把這兩個時間戳相減留攒,就能得出業(yè)務(wù)代碼的執(zhí)行時間煤惩。****

format格式化時間
我們可以轉(zhuǎn)換為指定的時間格式,語法如下炼邀,

var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
console.log(time1);
Moment.js

Moment.js 是一個輕量級的JavaScript時間庫魄揉,我們可以利用它很方便地進(jìn)行時間操作,提升開發(fā)效率拭宁。
中文官網(wǎng):http://momentjs.cn/

Array對象

創(chuàng)建數(shù)組除了字面量的方式洛退,我們還可以使用new Array()來創(chuàng)建

// 1. 使用構(gòu)造函數(shù)創(chuàng)建數(shù)組對象
// 創(chuàng)建了一個空數(shù)組
var arr = new Array();
// 創(chuàng)建了一個數(shù)組,里面存放了3個字符串
var arr = new Array('zs', 'ls', 'ww');
// 創(chuàng)建了一個數(shù)組红淡,里面存放了4個數(shù)字
var arr = new Array(1, 2, 3, 4);

數(shù)組中常見的方法

數(shù)組類型相關(guān)

方法 描述
Array.isArray() 判斷是否為數(shù)組
toString() 將數(shù)組轉(zhuǎn)換為字符串不狮,中間以,分割
valueof() 返回數(shù)組本身
Array.from(arrayLike) 將偽數(shù)組轉(zhuǎn)化為真數(shù)組
Array.of(value1, value2, value3) 創(chuàng)建數(shù)組:將一系列值轉(zhuǎn)換成數(shù)組

注意在旱,Array.isArray()是h5的新特性摇零,可能會有兼容性問題,我們可以使用instanceof來判斷是否是一個數(shù)組桶蝎。

數(shù)組常見方法

數(shù)組中常見的方法

具體的使用可以參考:https://www.runoob.com/jsref/jsref-obj-array.html

toString():數(shù)組轉(zhuǎn)換為字符串
備注:大多數(shù)的數(shù)據(jù)類型都可以使用.toString()方法驻仅,將其轉(zhuǎn)換為字符串。
字符串 = String(數(shù)組);也可以把數(shù)組轉(zhuǎn)化成字符串登渣。

Array.from():將偽數(shù)組轉(zhuǎn)換為真數(shù)組

array = Array.from(arrayLike);

偽數(shù)組包含 length 屬性的對象或可迭代的對象噪服。另外,偽數(shù)組的原型鏈中沒有 Array.prototype胜茧,而真數(shù)組的原型鏈中有 Array.prototype粘优。因此偽數(shù)組沒有數(shù)組的一般方法,比如 pop()呻顽、join() 等方法雹顺。如,我們通過getElementsByTagName獲取到的數(shù)組實際上是偽數(shù)組廊遍,可以使用from方法轉(zhuǎn)換成真數(shù)組嬉愧。

Array.of():創(chuàng)建數(shù)組

//Array.of(value1, value2, value3);
const arr = Array.of(1, 'abc', true);
console.log(arr); // 打印結(jié)果是數(shù)組:[1, "abc", true]

new Array()和 Array.of()的區(qū)別在于:當(dāng)參數(shù)只有一個時,前者表示數(shù)組的長度喉前,后者表示數(shù)組中的內(nèi)容没酣。

向數(shù)組中添加和刪除元素

push
向數(shù)組的最后面插入一個或多個元素王财,返回結(jié)果為新數(shù)組的長度。

新數(shù)組的長度 = 數(shù)組.push(元素);

pop()
刪除數(shù)組中的最后一個元素裕便,返回結(jié)果為被刪除的元素绒净。

被刪除的元素 = 數(shù)組.pop();

unshift()

在數(shù)組最前面插入一個或多個元素,返回結(jié)果為新數(shù)組的長度偿衰。插入元素后疯溺,其他元素的索引會依次調(diào)整。

新數(shù)組的長度 = 數(shù)組.unshift(元素);

shift()
刪除數(shù)組中的第一個元素哎垦,返回結(jié)果為被刪除的元素囱嫩。

被刪除的元素 = 數(shù)組.shift();

slice()
從數(shù)組中提取指定的一個或者多個元素,返回結(jié)果為新的數(shù)組(不會改變原來的數(shù)組)漏设。

//新數(shù)組 = 原數(shù)組.slice(開始位置的索引, 結(jié)束位置的索引); //注意:包含開始索引墨闲,不包含結(jié)束索引
const arr = ['a', 'b', 'c', 'd', 'e', 'f'];

const result1 = arr.slice(); // 不加參數(shù)時,則獲取所有的元素郑口。相當(dāng)于數(shù)組的整體賦值
const result2 = arr.slice(2); // 從第二個值開始提取鸳碧,直到末尾
const result3 = arr.slice(-2); // 提取最后兩個元素
const result4 = arr.slice(2, 4); // 提取從第二個到第四個之間的元素(不包括第四個元素)
const result5 = arr.slice(4, 2); // 空

splice()
從數(shù)組中刪除指定的一個或多個元素,返回結(jié)果為被刪除元素組成的新數(shù)組(會改變原來的數(shù)組)犬性。改方法會改變原數(shù)組瞻离。

//新數(shù)組 = 原數(shù)組.splice(起始索引index, 需要刪除的個數(shù));

//新數(shù)組 = 原數(shù)組.splice(起始索引index, 需要刪除的個數(shù), 新的元素1, 新的元素2...);

上方語法中,第三個及之后的參數(shù)乒裆,表示:刪除元素之后套利,向原數(shù)組中添加新的元素,這些元素將會自動插入到起始位置索引的前面鹤耍。也可以理解成:刪除了哪些元素肉迫,就在那些元素的所在位置補充新的內(nèi)容。

fill()
用一個固定值填充數(shù)組稿黄,返回結(jié)果為新的數(shù)組喊衫。不會改變原數(shù)組。

// 用一個固定值填充數(shù)組杆怕。數(shù)組里的每個元素都會被這個固定值填充
新數(shù)組 = 數(shù)組.fill(固定值);

// 從 startIndex 開始的數(shù)組元素族购,用固定值填充
新數(shù)組 = 數(shù)組.fill(固定值, startIndex);

// 從 startIndex 到 endIndex 之間的元素(包左不包右),用固定值填充
新數(shù)組 = 數(shù)組.fill(固定值, startIndex, endIndex);
// 創(chuàng)建一個長度為4的空數(shù)組陵珍,然后用 'f' 來填充這個空數(shù)組
console.log(Array(4).fill('f')); // ['f', 'f', 'f,' 'f']

// 將現(xiàn)有數(shù)組的每一個元素都進(jìn)行填充
console.log(['a', 'b', 'c', 'd'].fill('f')); // ['f', 'f', 'f,' 'f']

// 指定位置進(jìn)行填充
console.log(['a', 'b', 'c', 'd'].fill('f', 1, 3)); // ["a", "f", "f", "d"]

數(shù)組的拆分與合并

concat()
連接兩個或多個數(shù)組寝杖,返回結(jié)果為新的數(shù)組。不會改變原數(shù)組撑教。concat()方法的作用是數(shù)組合并朝墩。

新數(shù)組 = 數(shù)組1.concat(數(shù)組2, 數(shù)組3 ...);

join

//將數(shù)組轉(zhuǎn)換為字符串醉拓,返回結(jié)果為轉(zhuǎn)換后的字符串(不會改變原來的數(shù)組)伟姐。
新的字符串 = 原數(shù)組.join(參數(shù)); // 參數(shù)選填

join()方法可以指定一個字符串作為參數(shù)收苏,這個字符串將會成為數(shù)組中元素的連接符;如果不指定連接符愤兵,則默認(rèn)使用 , 作為連接符鹿霸,此時和 toString()的效果是一致的。

split()

通過指定的分隔符秆乳,將一個字符串拆分成一個數(shù)組懦鼠。不會改變原字符串

新的數(shù)組 = str.split(分隔符);

split()是字符串的方法,不是數(shù)組的方法屹堰。

reverse()

反轉(zhuǎn)數(shù)組肛冶,返回結(jié)果為反轉(zhuǎn)后的數(shù)組(會改變原來的數(shù)組)。

反轉(zhuǎn)后的數(shù)組 = 數(shù)組.reverse();

sort

對數(shù)組的元素進(jìn)行從小到大來排序(會改變原來的數(shù)組)扯键。

  1. sort()方法:無參時
    如果在使用 sort() 方法時不帶參睦袖,則默認(rèn)按照Unicode 編碼,從小到大進(jìn)行排序荣刑。
let arr1 = ['e', 'b', 'd', 'a', 'f', 'c'];

let result = arr1.sort(); // 將數(shù)組 arr1 進(jìn)行排序

console.log('arr1 =' + JSON.stringify(arr1));
console.log('result =' + JSON.stringify(result));
//  arr1 =["a","b","c","d","e","f"]
 //result =["a","b","c","d","e","f"]

我們再來看一下


排序

如圖馅笙,用 sort() 排序后,數(shù)字11竟然在數(shù)字2的前面厉亏。因為sort()方法是按照Unicode 編碼進(jìn)行排序的董习。并非是按照自然排序。我們可以給sort傳參爱只,自定義排序方法
我們可以在 sort()添加一個回調(diào)函數(shù)皿淋,來指定排序規(guī)則√袷裕回調(diào)函數(shù)中需要定義兩個形參沥匈,瀏覽器將會分別使用數(shù)組中的元素作為實參去調(diào)用回調(diào)函數(shù)。
瀏覽器根據(jù)回調(diào)函數(shù)的返回值來決定元素的排序:

  1. 如果返回一個大于 0 的值忘渔,則元素會交換位置
  2. 如果返回一個小于 0 的值高帖,則元素位置不變
  3. 如果返回一個等于 0 的值,則認(rèn)為兩個元素相等畦粮,則不交換位置
從小到大排序
簡化寫法從大到小排序

indexOf() 和 lastIndexOf():獲取數(shù)據(jù)的索引

//索引值 = 數(shù)組.indexOf(想要查詢的元素);
//索引值 = 數(shù)組.lastIndexOf(想要查詢的元素);

indexOf() 是從前向后查找元素的位置;lastIndexOf()是從后向前尋找散址。
可以檢索一個數(shù)組中是否含有指定的元素。如果數(shù)組中含有該元素宣赔,則會返回其第一次出現(xiàn)的索引预麸;如果沒有找到指定的內(nèi)容,則返回 -1儒将。ndexOf()在檢索時吏祸,是嚴(yán)格類型約束,類似于===
這個方法還可以指定第二個參數(shù)贡翘,用來指定查找的起始位置蹈矮。語法如下:

索引值 = 數(shù)組.indexOf(想要查詢的元素, [起始位置]);

find()

find((item, index, arr) => {
    return true;
});

找出第一個滿足「指定條件返回 true」的元素;如果沒找到鸣驱,則返回 undefined。
備注:一旦找到符合條件的第一個元素,將不再繼續(xù)往下遍歷再芋。
findIndex()

findIndex((item, index, arr) => {
    return true;
});

找出第一個滿足「指定條件返回 true」的元素的 index遗菠。

every()
數(shù)組中每一項運行回調(diào)函數(shù)蓖谢,如果都返回 true,every 就返回 true陨瘩;如果有一項返回 false腕够,則停止遍歷,此方法返回 false舌劳。
every()方法的返回值是 boolean 值帚湘,參數(shù)是回調(diào)函數(shù)。

some()
對數(shù)組中每一個元素運行回調(diào)函數(shù)甚淡,只要有一個元素返回 true大诸,則停止遍歷,此方法返回 true。

every():全部真资柔,才為真焙贷。當(dāng)你需要讓數(shù)組中的每一個元素都滿足指定條件時,那就使用 every()建邓。
some():一個真,則為真睁枕,點到為止官边。數(shù)組中只要有一個元素滿足指定條件時,就停止遍歷外遇。那就使用 some()注簿。
*

valueOf()

數(shù)組本身 = 數(shù)組.valueOf();

數(shù)組的遍歷

遍歷數(shù)組的方法包括:every()、filter()跳仿、forEach()诡渴、map()等。

for循環(huán)

let arr = ["0", "1", "2", "3", "4", "5"];
        //for循環(huán)遍歷
        for(let i = 0;i<arr.length;i++){
            console.log(arr[i]);
            
        }

forEach()遍歷
forEach() 這種遍歷方法只支持 IE8 以上的瀏覽器菲语。IE8 及以下的瀏覽器均不支持該方法妄辩。所以如果需要兼容 IE8,則不要使用 forEach山上,改為使用 for 循環(huán)來遍歷即可眼耀。
forEach()方法需要一個函數(shù)作為參數(shù)。這種函數(shù)佩憾,是由我們創(chuàng)建但是不由我們調(diào)用的哮伟,我們稱為回調(diào)函數(shù)。
回調(diào)函數(shù)中傳遞三個參數(shù):

  1. 第一個參數(shù)妄帘,就是當(dāng)前正在遍歷的元素
  2. 第二個參數(shù)楞黄,就是當(dāng)前正在遍歷的元素的索引
  3. 第三個參數(shù),就是正在遍歷的數(shù)組
arr.forEach((item, index, arr) => {
            console.log('item:' + item);
            console.log('index:' + index);
            console.log('arr:' + JSON.stringify(arr));
            console.log('----------');
        });
        

        //通常抡驼,后兩個參數(shù)是省略的鬼廓。
        arr.forEach(function (items) {
            console.log(items);

        });

map()
對數(shù)組中每一項運行回調(diào)函數(shù),返回該函數(shù)的結(jié)果致盟,組成的新數(shù)組(返回的是加工之后的新數(shù)組)桑阶。不會改變原數(shù)組。

/*arr.map(function (item, index, arr) {
    return newItem;
});*/
 //map的結(jié)果返回一個新的數(shù)組勾邦。(純遍歷蚣录,省略兩個參數(shù))
        let arr = ["0", "1", "2", "3", "4", "5"];
        let arrNew = arr.map(function(item){
            return item
        });
        console.log(arrNew);

filter()
對數(shù)組中的每一項運行回調(diào)函數(shù),該函數(shù)返回結(jié)果是 true 的項眷篇,將組成新的數(shù)組(返回值就是這個新的數(shù)組)萎河。不會改變原數(shù)組。

arr.filter(function (item, index, arr) {
    return true;
});

reduce()
reduce() 方法接收一個函數(shù)作為累加器,數(shù)組中的每個值(從左到右)開始縮減虐杯,最終計算為一個值玛歌。返回值是回調(diào)函數(shù)累計處理的結(jié)果。

arr.reduce(function (previousValue, currentValue, currentIndex, arr) {}, initialValue);

參數(shù)說明:

  1. previousValue:必填擎椰,上一次調(diào)用回調(diào)函數(shù)時的返回值
  2. currentValue:必填支子,當(dāng)前正在處理的數(shù)組元素
  3. currentIndex:選填,當(dāng)前正在處理的數(shù)組元素下標(biāo)
  4. arr:選填达舒,調(diào)用 reduce()方法的數(shù)組
  5. initialValue:選填值朋,可選的初始值(作為第一次調(diào)用回調(diào)函數(shù)時傳給 previousValue 的值)
 let arr = [1, 2, 3, 4, 5];
        //initialValue不填寫時,第一次調(diào)用function的時候 pre的值為0. 一般
        //回調(diào)函數(shù)里我們都是用這兩個參數(shù)就夠了巩搏。
        //求arr數(shù)組元素的和昨登,(10為pre最初的值,只求和的話贯底,不傳該參數(shù))
        var res = arr.reduce(function (pre, cur) {
            return pre + cur;

        },10);
        console.log(res);
        
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丰辣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子禽捆,更是在濱河造成了極大的恐慌笙什,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胚想,死亡現(xiàn)場離奇詭異得湘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)顿仇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門淘正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人臼闻,你說我怎么就攤上這事鸿吆。” “怎么了述呐?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵惩淳,是天一觀的道長。 經(jīng)常有香客問我乓搬,道長思犁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任进肯,我火速辦了婚禮激蹲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘江掩。我一直安慰自己学辱,他們只是感情好乘瓤,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著策泣,像睡著了一般衙傀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萨咕,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天统抬,我揣著相機(jī)與錄音,去河邊找鬼危队。 笑死聪建,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的交掏。 我是一名探鬼主播妆偏,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼刃鳄,長吁一口氣:“原來是場噩夢啊……” “哼盅弛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叔锐,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤挪鹏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后愉烙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讨盒,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年步责,在試婚紗的時候發(fā)現(xiàn)自己被綠了返顺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔓肯,死狀恐怖遂鹊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔗包,我是刑警寧澤秉扑,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站调限,受9級特大地震影響舟陆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耻矮,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一秦躯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧裆装,春花似錦宦赠、人聲如沸陪毡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽毡琉。三九已至,卻和暖如春妙色,著一層夾襖步出監(jiān)牢的瞬間桅滋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工身辨, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留丐谋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓煌珊,卻偏偏與公主長得像号俐,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子定庵,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355