js入門知識點(diǎn)

* 基礎(chǔ)知識

* js的輸出方式

* js的組成

* js的命名規(guī)范

* 數(shù)據(jù)類型

* number數(shù)據(jù)類型

* 布爾數(shù)據(jù)類型 boolean

* 數(shù)據(jù)類型之間的比較規(guī)則

* 檢測數(shù)據(jù)類型

* 判斷

* arguments

* 對象

* for循環(huán)

* 數(shù)組的方法

* 實(shí)例創(chuàng)建數(shù)組

* 字符串的方法

* DOM獲取元素

* 動態(tài)創(chuàng)建元素

* 元素節(jié)點(diǎn)

* 自定義屬性的操作

* Math函數(shù)

基礎(chǔ)知識

ctrl +f 搜索

js的輸出方式

js的輸出方式:

1:alert('珠峰培訓(xùn)'); 彈出框 ?彈出一個層

alert(confirm('')) --彈出框 ?加一個確定或者取消 加上alert有返回值 ?true false

2:

1)console.log('fandonglai') ;控制臺輸出 ?主要用于調(diào)試js代碼

2)console.error('報錯'); ?報錯

3)console.warn('警告') ; ?警告

4)console.info ('信息');!

5)console.dir('');輸出對象詳細(xì)的信息

6)console.table('');以表格的形式輸出 兩層以上的嵌套的時候才會輸出

7)console.clear('') ;清空控制臺

js的組成

js的組成:

1)ECMAScript(5) ?js的幫助文檔api 核心 規(guī)定了js的引入方式、命名規(guī)范番电、變量翔试、數(shù)據(jù)類型浙炼、語法是尖、操作語句

2)DOM ?document object model ?文檔對象模型

3)BOM ?browser object model ? 瀏覽器對象模型

js的命名規(guī)范

js的命名規(guī)范

1)區(qū)分大小寫

document ?documenT

2)遵循駝峰命名法

第一個單詞首字母小寫甥温,從第二個單詞開始首字母大寫

personInfo

studentManageSystem

3)匈牙利命名法

oDiv ?aStu

4)由數(shù)字想虎、字母艇炎、下劃線、$組成漫萄,不能以數(shù)字作為開頭

div1 ?box1 ?stu ?$stu

5) 不能使用關(guān)鍵字和保留字

關(guān)鍵字:在js中有特殊意義的

var

保留字:未來可能作為關(guān)鍵字的

數(shù)據(jù)類型

數(shù)據(jù)類型

1)基本數(shù)據(jù)類型

number(數(shù)字)卷员、string(字符串)、boolean(布爾)腾务、null(空)毕骡、undefined(未定義)

2)引用數(shù)據(jù)類型

1.object(對象數(shù)據(jù)類型 ):object 對象 Array數(shù)組 RegExp正則

2.function(函數(shù)數(shù)據(jù)類型)

基本數(shù)據(jù)類型和引用數(shù)據(jù)類型區(qū)別:

1)基本數(shù)據(jù)類型:值

2)引用數(shù)據(jù)類型:空間地址

number數(shù)據(jù)類型

number數(shù)字?jǐn)?shù)據(jù)類型

包括:正數(shù)、負(fù)數(shù)岩瘦、小數(shù)挺峡、0、NaN

1 -1 1.2 -1.2 0 NaN

NaN:not a number ? 不是一個數(shù)

NaN==NaN ?//false

isNaN(NaN) ?//true

1.isNaN(檢測的內(nèi)容) ? 作用 :`判斷`一個內(nèi)容是不是有效數(shù)字担钮,如果不是有效數(shù)字返回true,

如果是一個有效數(shù)字返回false

2.Number(要轉(zhuǎn)換的內(nèi)容) ?強(qiáng)制轉(zhuǎn)換尤仍,必須全部都為數(shù)字才可以轉(zhuǎn)換箫津,否則返回NaN

Number(null) ?0

Number('') ? ?0

Number(false) 0

Number(true) ?1

3.parseInt() ? 非強(qiáng)制轉(zhuǎn)換 從左到右依次查找,是數(shù)字繼續(xù)查找宰啦,只要遇到一個字符不是有效數(shù)字苏遥,就停止查找,直接返回之前找到的數(shù)字

4.parseFloat() ? 非強(qiáng)制轉(zhuǎn)換 和parseInt一樣赡模,但是可以多識別一個點(diǎn).

``轉(zhuǎn)換不成功 返回NaN``

布爾數(shù)據(jù)類型 boolean

布爾 boolean

包括:只有兩個值 true false

方法:

1.! 一個嘆號田炭,取反:先轉(zhuǎn)為布爾類型(Boolean())然后再取反

將任意的值轉(zhuǎn)為布爾類型,只有0漓柑、NaN教硫、''叨吮、null、undefined這五個值為false 其余都為true

2.!! ?取反再取反瞬矩,相當(dāng)于直接轉(zhuǎn)為布爾類型Boolean()

3.Boolean() ?等價于!!

以上三個方法的返回值(結(jié)果)為true或者false

數(shù)據(jù)類型之間的比較規(guī)則

數(shù)據(jù)類型之間的比較規(guī)則

= ?賦值

== 比較

相同的數(shù)據(jù)類型直接比較

1.對象==對象 ?false

不同數(shù)據(jù)類型之間的比較:

2.對象==字符串 ?對象先轉(zhuǎn)為字符串(.toString()) 然后再比較

3.對象==數(shù)字 ?對象先轉(zhuǎn)為字符串(.toString())再轉(zhuǎn)為數(shù)字(Number())

4.對象==布爾 ?對象先轉(zhuǎn)為字符串再轉(zhuǎn)為數(shù)字茶鉴,布爾直接轉(zhuǎn)為數(shù)字

5.布爾==字符串 布爾轉(zhuǎn)數(shù)字 字符串轉(zhuǎn)數(shù)字

6.布爾==數(shù)字 ? 布爾轉(zhuǎn)數(shù)字

7.數(shù)字==字符串 ?字符串轉(zhuǎn)數(shù)字

8.null==undefined ?true

9.null或者undefined和其它任何類型比較都返回false

![]==false 先取反再比較

檢測數(shù)據(jù)類型

1、typeof null ? "object"

typeof的返回值:字符串類型 ?"number"景用、"string"涵叮、"boolean"、"undefined"伞插、"object"割粮、"function"

2、instanceof 當(dāng)前這個對象,是否屬于某個類

問題;當(dāng)前這個類,只要在這個對象原型鏈上,永遠(yuǎn)都是true

var ary = [1,2,3]

ary instanceof Array ? //true

3媚污、constructor;作用舀瓢;打印出當(dāng)前在這個對象所屬的類

問題;當(dāng)我們給類.prototype自己復(fù)制的時候杠步,constructor會出問題氢伟;

ary.constructor ? 返回的是函數(shù) ?函數(shù)的名字就是他的類型

4、Object.prototype.toString.call()

基類上的tostring幽歼;作用可以打印出當(dāng)前實(shí)例this朵锣,所屬累的詳細(xì)信息;

所以我們想要檢測誰甸私,就讓this通過call變成誰

判斷

判斷

1诚些、if、else if皇型、else

2诬烹、三元運(yùn)算符 三目運(yùn)算符:主要應(yīng)用于簡單的if else的判斷

3、switch case:不同值情況的判斷

1: ? ? if(條件1){

條件1成立(為真)執(zhí)行的代碼

}else if(條件2){

條件2成立(為真)執(zhí)行的代碼

}else if(條件3){

條件3成立(為真)執(zhí)行的代碼

}...

else{

以上條件都不成立執(zhí)行的代碼

}

只有0 NaN '' null undefined 5個值為false 其余都為true

if條件中可以有以下符號:

&& ?并且 兩邊的小條件都為真弃鸦,整體即為真

|| ?或者 只要有一個真 整體即為真 第一個為假操作第二個

> >= < <= == ===

只有一個值:直接判斷真假

+ - *(乘) ?/(除)

! ?!!

2:三元運(yùn)算符

應(yīng)用于if else判斷 或者只有一個if

格式:

條件?條件成立執(zhí)行的代碼:條件不成立執(zhí)行的代碼

3:switch case:不同值情況的判斷 每一個case是三個

switch (變量){

case 值1:

變量與值1比較 成立執(zhí)行的代碼

break;

case 值2:

變量與值2比較 成立執(zhí)行的代碼

break;

....

default:

以上條件都不成立執(zhí)行的代碼

}

var ?a = 3

switch (a){

case 1:

alert(1);

break;

case 2:

alert(2);

break;

case 3:

alert(3);

break;

default:

alert(5);

}

arguments

函數(shù)中绞吁,存儲參數(shù)的一個集合

函數(shù)天生自帶的一個屬性:內(nèi)置屬性 arguments

1:非嚴(yán)格模式: ?arguments 和形參存在映射關(guān)系:一個改了另外一個也跟著改

'use strict'嚴(yán)格模式下: arguments和形參之間沒有映射關(guān)系;

2:嚴(yán)格模式下不可以使用arguments.callee ?arguments.callee.caller

arguments.callee:當(dāng)前函數(shù)本身,這里代表的是當(dāng)前的函數(shù)

arguments.callee.caller :當(dāng)前方法是在哪一個函數(shù)中執(zhí)行的唬格,我們可以通過這個方法獲取到家破,如果是在window下執(zhí)行的,caller值是null

----------

對象

對象

對象數(shù)據(jù)類型創(chuàng)建的三步:

1)開辟一個空間地址 堆內(nèi)存

2)把對象中的屬性名和屬性值 存儲到空間中

3)空間地址賦值給對象名

指向同一個空間地址時:對象1==對象2 ?true

1.增加一組屬性

obj.name = 'zfpx'

2.獲取屬性名對應(yīng)的屬性值 ?'zfpx'

obj.name

3.修改屬性名對應(yīng)的屬性值 ?'zf'

obj.name = 'zf'

4.刪除屬性

1.假刪除 ?obj.name = null

2.直接刪除 delete obj.name

obj.name

obj['name']

如果屬性名為數(shù)字 只能用obj[1]

for循環(huán)

for循環(huán)

每一輪循環(huán)都要執(zhí)行四步:

1)初始值

2)判斷是否滿足循環(huán)執(zhí)行的條件

3)執(zhí)行循環(huán)體中的內(nèi)容

4)累加

(1) for in對象中的屬性名和屬性值

var obj = {

name:'zf',

age:8,

add:'北京',

1:2016,

6:6666

}

for(var a in obj){

console.log(obj[a]) ? ?obj[]的形式

}

順序:先輸出屬性名為數(shù)字的(從小到大)购岗,再按照書寫順序輸出

var ary = [100,200,300,400];

for(var key in ary){

console.log(key); 數(shù)組的索引 都是從0開始一串?dāng)?shù)字 索引的作用:用來表示每一項(xiàng)的位置

}

(2)while

var i=0; ? while(i<5){ ? ? ?console.log(i); ? i++; ? ?}

19汰聋、在循環(huán)體中有兩個關(guān)鍵字:break continue

break 跳出整個循環(huán),整個循環(huán)結(jié)束

continue 本輪循環(huán) 循環(huán)體后面的代碼不再執(zhí)行喊积,會繼續(xù)執(zhí)行累加烹困,繼續(xù)下一輪循環(huán)

20、 i++ 在i原有的基礎(chǔ)上加1

i+=1 ?i=i+1

i+=5 ?在i原有的基礎(chǔ)上加5

i++ 先運(yùn)算乘除加法 ?在累加

++i 先自己加1在去運(yùn)算

var a=0;

console.log(a+++1);1 a++先運(yùn)算 ?不累加 得到的結(jié)果是1 (a+1)=1

console.log(a);1 ? ? 運(yùn)算完以后乾吻,在進(jìn)行累加髓梅;這時候a=0;累加1=1

var b=0;

var b=a+++1;

b=a+1;

a++;

數(shù)組的方法

數(shù)組

1)方法的作用

2)方法的參數(shù)

3)方法的返回值

4)原數(shù)組是否改變

24;數(shù)組方法

1)增加拟蜻、刪除、替換 ?`原數(shù)組改變`

1.push(要增加的內(nèi)容) 末尾增加一項(xiàng)

返回:新增后數(shù)組的長度

原數(shù)組:改變

2.pop() ?刪除最后一項(xiàng)

返回值:被刪除的那一項(xiàng)

原數(shù)組:改變

3.unshift(要增加的內(nèi)容) ?在數(shù)組開頭增加一項(xiàng)

返回值:增加后數(shù)組的長度

原數(shù)組:改變

4.shift() 刪除第一項(xiàng)

返回值:被刪除的內(nèi)容

原數(shù)組:改變

5.splice() ?刪除 替換 增加

splice(n,m) ?從索引n開始 刪除m個

splice(n) ? ?從索引n開始 刪除到最后

splice() ? ?返回[] 原數(shù)組不變

splice(n,m,x) ?替換 從索引n開始刪除m個 用x替換被刪除的內(nèi)容

splice(n,0,x) ?增加 在索引n的前面增加一項(xiàng)

splice(0) ?克隆

1.刪除數(shù)組最后一項(xiàng)

1.pop()

2.ary.length--;

3.ary.length-=1;

4.ary.length = ary.length-1;

5.ary.splice(ary.length-1,1)

數(shù)組中最后一項(xiàng)的索引:ary.length-1

2;在數(shù)組末尾增加一項(xiàng)

push

ary[ary.lenght]=100;

splice(ary.lenght,0,要增加的內(nèi)容)

3.克隆

splice(0) slice(0)/slice() ary.concat()

4.獲取數(shù)組中[第n項(xiàng)女淑,第m項(xiàng)],原數(shù)組不變

第n項(xiàng)的索引:n-1

第m項(xiàng)的索引:m-1

slice(n-1,m)

26瞭郑;數(shù)組截取和拼接 ?原數(shù)組不變

1.slice(n,m) ?從索引n開始截取到索引為m處,不包括m ?包前不包后

返回:提取的內(nèi)容

原數(shù)組:不變

slice(n) ?從索引n開始 截取到最后

slice(0) ?克隆

slice() ? 克隆

2.concat() ?拼接數(shù)組

返回:拼接后的新數(shù)組

原數(shù)組:不變

ary.concat(ary2) ?新數(shù)組的順序:書寫的順序

克卵寄恪: ?ary.concat()屈张、 splice(0)、slice(0)袱巨、 slice()

27阁谆;數(shù)組轉(zhuǎn)為字符串的方法 原數(shù)組不變

1;.toString() 轉(zhuǎn)為字符串

返回一個新字符串【】-->‘’

原數(shù)組愉老;不變

2场绿;join('分隔符') 根據(jù)分隔符將數(shù)組的每一項(xiàng)鏈接,—— + 把嫉入,改成分隔符了

返回焰盗;新字符串

原數(shù)組;沒改變

eval 將字符串轉(zhuǎn)為js代碼執(zhí)行

eval('3+4+5')

返回的是12

28數(shù)組的排序跟倒序

排序和倒序 原數(shù)組改變

1咒林;sort(排序) 只能進(jìn)行9以內(nèi)的排序

返回的是一個排好序的新數(shù)組

原數(shù)組改變

ary.sort(function(a,b)){

return a-b;從小到大排序

}

ary.sort(function(a,b)){

return b-a;從大到小排序

}

2熬拒;倒序

reverse()

將數(shù)組反轉(zhuǎn)

返回值;新數(shù)組

原數(shù)組垫竞;改變

29澎粟;原數(shù)組不變

常用但不兼容,ie6-ie8

1)indexOf(內(nèi)容) 根據(jù)內(nèi)容找到在數(shù)組中第一次出現(xiàn)的索引 索引的位置

找不到的話欢瞪,返回-1

返回值活烙;索引(的位置)

應(yīng)用:判斷數(shù)組中是否存在這個內(nèi)容

2)lastIndexOf(內(nèi)容)根據(jù)內(nèi)容找到在數(shù)組中最后第一次出現(xiàn)的索引 索引的位置 找不到的話,返回-1

返回值遣鼓;索引(的位置)

3)map()遍歷數(shù)組中的每一項(xiàng)

有返回值

ary.map(function(a,b,c)){

a;每一項(xiàng)的內(nèi)容

b;每一項(xiàng)的索引

c;原數(shù)組

}循環(huán)數(shù)組中的每一項(xiàng)

4)forEach()

沒有返回值

區(qū)別:map有返回值 ?forEach沒有返回值

實(shí)例創(chuàng)建數(shù)組

實(shí)例創(chuàng)建數(shù)組

var ary=new Array(12);12是設(shè)定數(shù)組的長度

var ary=new Array('12','12') ?[12,12]

var ary=new Array(12,23) 這樣數(shù)組有兩項(xiàng)啸盏,分別是12 和13

字符串的方法

字符串

1.通過下標(biāo)找字符

2.通過字符找下標(biāo)

charAt(索引) 通過下標(biāo)找對應(yīng)字符

charCodeAt(索引) 通過下標(biāo)找對應(yīng)字符的 Unicode 編碼

indexOf():從前往后找; 找到的時候骑祟,返回對應(yīng)的索引回懦,找不到,返 回-1曾我;

lastIndexOf():從后往前找; 找到的時候健民,返回對應(yīng)的索引抒巢,找不到, 返回-1秉犹;

3.字符串的截取

substr(n,m) 從索引n開始蛉谜,截取m個稚晚;

substring(n,m) 從索引年開始,截取到索引m型诚,包前不包后客燕;

slice(n,m) slice功能跟substring一樣,但是slice支持負(fù)值狰贯;

4.字符串的轉(zhuǎn)大小寫 toLowerCase()

字符串轉(zhuǎn)小寫 toUpperCase() 字符串轉(zhuǎn)大寫

5.可以跟正則配合的字符串方法:

1)split('分隔符') 根據(jù) 分隔符 將字符串轉(zhuǎn)數(shù)組

2)replace(舊,新) 字符串替換

3)match() 捕獲:找到要找的字符也搓,返回數(shù)組[內(nèi)容,索引涵紊,原字符串], 找不到返回null

4)search() 查找字符:找到的時候傍妒,返回對應(yīng)內(nèi)容的索引,找不到返 回-1摸柄;

DOM獲取元素

1颤练;如果id值重復(fù)了惑灵,只能獲取第一個

可以直接通過id的名字進(jìn)行操作若贮,不推薦使用

在ie6還有ie7中,不區(qū)分id值的大小寫

document.getElementById('box');

2妈经;通過標(biāo)簽名獲取---一組元

類數(shù)組 跃脊;索引 lenght

document.getElementsByTagName('li')

li.length 想要操作第一個li1 ?li1[0]

3;通過類名獲取---一組元素

var li1 =document.getElementsByClassName('li1')

想要操作第一個li1 ?li1[0] 類數(shù)組中索引為0的一項(xiàng)

不能對類數(shù)組進(jìn)行操作宇挫,而是直接對這個類數(shù)組種的某一個元素進(jìn)行操作

4;通過name獲取的方法 一般用于表單元素(表單元素)ie下只對表單元素起作用

var input=document.getElementsByName('sex');

也有對應(yīng)的索引還有長度 lenght

5匾乓;獲取body

document.body

獲取html

document.documentElement

6;獲取可視窗口的寬度

document.documentElement.clientWidth||document.body.clientWidth;

獲取可是窗口的告訴

document.documentElement.clientHeight||document.body.clientHeight;

7;不兼容 ?主要在移動端使用 他和css選擇器是一樣的

獲取一個元素 支持所有的選擇器

document.querySelector('#box')

獲取的是一組元素

document.querySelectorAll('li')

動態(tài)創(chuàng)建元素

動態(tài)創(chuàng)建元素

1.document.createElement('標(biāo)簽名')

克隆

元素.cloneNode(true)

2.父容器.appendChild(oDiv) ? 在末尾的位置

把創(chuàng)建的標(biāo)簽捞稿,放在頁面中

父容器.insertBefore(新,老) ?添加到老元素之前

3.父容器.removeChild(刪除的元素) ?刪除

父容器.replaceChild(新,舊) ?用新的替換舊的

元素節(jié)點(diǎn)

//節(jié)點(diǎn);nodes ? ? ? ? ? ? ? nodeType(節(jié)點(diǎn)的類型) ? ? ? nodeName ? ? ? ? ? nodeValue

//元素節(jié)點(diǎn)(標(biāo)簽) ? ? ? ? ? ? ? 1 ? ? ? ? ? ?大寫的標(biāo)簽名 ? ? ? ? ? null

//文本節(jié)點(diǎn)(文字 空格 回車) ? ? 3 ? ? ? ? ? ? ?#text ? ? ? ? ? ? 文本的內(nèi)容

//注釋節(jié)點(diǎn)(注釋—) ? ? ? ? ? ? 8 ? ? ? ? ? ? ?#comment ? ? ? ? ? 注釋的內(nèi)容

//document ? ? ? ? ? ? ? ? ? ?9 ? ? ? ? ? ? ? #document ? ? ? ? ? null

childNodes ?獲取所有的子節(jié)點(diǎn)

children ? 獲取所有的子元素節(jié)點(diǎn) ?【不兼容ie8】(不寫注釋的情況下拼缝,可以直接用)

parentNode ?父節(jié)點(diǎn)

previousSibling ?獲取上一個哥哥節(jié)點(diǎn)

xtSibling ?下一個弟弟節(jié)點(diǎn)

firstChild ?第一個子節(jié)點(diǎn)

lastChild ?最后一個子節(jié)點(diǎn)

childNodes 獲取所有的子節(jié)點(diǎn)

document.body.childNodes//獲取body下面所有的子節(jié)點(diǎn)

2娱局;children 獲取所有的子元素節(jié)點(diǎn) ?不兼容

document.body.children// ?獲取的是所有子元素的借點(diǎn)

3;parentNode ? 父節(jié)點(diǎn)

document.body.parentNode

自定義屬性的操作

1

: 自定義屬性的操作

屬性操作有三種方法咧七;

1‘’.‘’

2;

[]

3;attribute系列

attribute系列衰齐;

獲取继阻;obj.getAttribute(attr)-拿到元素身上自帶的屬性

設(shè)置耻涛;setAttribute(attr,value)

刪除:removeAttribute(attr)

點(diǎn)和attribute的區(qū)別

1)直接給標(biāo)簽上添加自定義屬性,通過.獲取不到瘟檩,但是通過getAttribute可以獲取到

2)設(shè)置時抹缕;通過.設(shè)置的自定義屬性,可以設(shè)置成功墨辛,但是在標(biāo)簽上看不到卓研,

而通過setAttribute設(shè)置的屬性,通過getAttribute獲取

注意;用.來設(shè)置奏赘,就用.來獲取

2

:設(shè)置自定義屬性

1. obj.屬性名 = 屬性值

2. 設(shè)置:元素.setAttribute('屬性名','屬性值')

獲攘壬痢:元素.getAttribute('屬性名')

移除:元素.removeAttribute('屬性名')

Math函數(shù)

Math函數(shù)

Math不是類,他僅僅是一個對象磨淌,'Math' in window ==>true

他是window全局對象的一個屬性而已疲憋,這個對象包含了很多的方法,供我們操作數(shù)字梁只,所以我們把它稱之為’數(shù)學(xué)函數(shù)‘

Math.floor(12.5) ?//向下取整 ?12.5

Math.ceil(12.5) ?//向上取整 ? 13

Math.min(1,2,3); ?//取最小值

Math.max(1,2,3); ?//取最大值

Math.round(12.5); ? //四舍五入

Math.random() ?//取[0,1)之間的隨機(jī)數(shù)

Math.round(Math.random()*(m-n)+n);

Math.abs() //絕對值

Math.PI() //3.1415926圓周率

Math.sqrt(9) ?//開平方

Math.pow()// ?冪次方 x的y次方 (2缚柳,3)2的3次方

Math.trunc(); ? 把小數(shù)點(diǎn)后面的數(shù)字切掉返回整數(shù)部分

Math.sign() ? 判斷這個數(shù)是不是正數(shù) 或者 負(fù)數(shù) 或者0 正數(shù)返回1 負(fù)數(shù)返回-1 ?0 返回0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市敛纲,隨后出現(xiàn)的幾起案子喂击,更是在濱河造成了極大的恐慌,老刑警劉巖淤翔,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翰绊,死亡現(xiàn)場離奇詭異,居然都是意外死亡旁壮,警方通過查閱死者的電腦和手機(jī)监嗜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抡谐,“玉大人裁奇,你說我怎么就攤上這事÷竽欤” “怎么了刽肠?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長免胃。 經(jīng)常有香客問我音五,道長,這世上最難降的妖魔是什么羔沙? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任躺涝,我火速辦了婚禮,結(jié)果婚禮上扼雏,老公的妹妹穿的比我還像新娘坚嗜。我一直安慰自己,他們只是感情好诗充,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布苍蔬。 她就那樣靜靜地躺著,像睡著了一般蝴蜓。 火紅的嫁衣襯著肌膚如雪碟绑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音蜈敢,去河邊找鬼。 笑死汽抚,一個胖子當(dāng)著我的面吹牛抓狭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播造烁,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼否过,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惭蟋?” 一聲冷哼從身側(cè)響起苗桂,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎告组,沒想到半個月后煤伟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡木缝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年便锨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片我碟。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡放案,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矫俺,到底是詐尸還是另有隱情吱殉,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布厘托,位于F島的核電站友雳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏催烘。R本人自食惡果不足惜沥阱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伊群。 院中可真熱鬧考杉,春花似錦、人聲如沸舰始。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丸卷。三九已至枕稀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背萎坷。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工凹联, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哆档。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓蔽挠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親瓜浸。 傳聞我的和親對象是個殘疾皇子澳淑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容