js基礎(chǔ)

1. split() join()的區(qū)別

  • join():用于把數(shù)組中的所有元素通過指定的分隔符進(jìn)行分隔放入一個(gè)字符串
  • split():用于把一個(gè)字符串通過指定的分隔符進(jìn)行分隔成數(shù)組

2.JavaScript 的數(shù)據(jù)類型

String、Number肩杈、Boolean愚隧、Null铸史、Undefined 和 Object

  • ES6新增了 Symbol類型
  • Object引用類型独撇,其他的都是基本類型(Primitive Type)澜沟。

3.如何判斷一個(gè)對(duì)象是否屬于某個(gè)類够坐?

instanceof

if (a instanceof Person) {

  alert("yes");

}

4.new 操作符具體干了什么呢?

new 共經(jīng)過了 4 個(gè)階段

  • 1). 創(chuàng)建一個(gè)空對(duì)象

  • 2). 設(shè)置原型鏈

  • 3). 讓 Func 中的 this 指向 obj托嚣,并執(zhí)行 Func 的函數(shù)體

  • 4). 判斷 Func 的返回值類型:

function Test(){}

const test = new Test()
  • 創(chuàng)建一個(gè)新對(duì)象:
const obj = {}
  • 設(shè)置新對(duì)象的 constructor 屬性為構(gòu)造函數(shù)的名稱损趋,設(shè)置新對(duì)象的proto屬性指向構(gòu)造函數(shù)prototype對(duì)象
obj.constructor = Test
obj.__proto__ = Test.prototype
  • 使用新對(duì)象調(diào)用函數(shù)患久,函數(shù)中的 this 被指向新實(shí)例對(duì)象
Test.call(obj)
  • 將初始化完畢的新對(duì)象地址,保存到等號(hào)左邊的變量中

5.call() 和 apply() 的含義和區(qū)別?

  • call:調(diào)用一個(gè)對(duì)象的一個(gè)方法墙杯,用另一個(gè)對(duì)象替換當(dāng)前對(duì)象

  • apply:調(diào)用一個(gè)對(duì)象的一個(gè)方法配并,用另一個(gè)對(duì)象替換當(dāng)前對(duì)象

call與 apply的相同點(diǎn):

  • 方法的含義是一樣的,即方法功能是一樣的高镐;

  • 第一個(gè)參數(shù)的作用是一樣的溉旋;

call與apply的不同點(diǎn):

  • 兩者傳入的列表形式不一樣

  • call 可以傳入多個(gè)參數(shù);

  • apply 只能傳入兩個(gè)參數(shù)嫉髓,所以其第二個(gè)參數(shù)往往是作為數(shù)組形式傳入

6.sort 排序原理

冒泡排序法的原理:

  • 比較相鄰的元素观腊。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)算行。

  • 對(duì)每一對(duì)相鄰元素做同樣的工作梧油,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn)州邢,最后的元素應(yīng)該會(huì)是最大的數(shù)儡陨。

  • 針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)量淌。

  • 持續(xù)每次對(duì)越來越少的元素重復(fù)上面的步驟骗村,直到?jīng)]有任何一對(duì)數(shù)字需要比較。

1.升序

var apple = [45, 42, 10, 147, 7, 65, -74];

// ①默認(rèn)法,缺點(diǎn):只根據(jù)首位排序

console.log(apple.sort());

// ②指定排序規(guī)則法,return可返回任何值

console.log(

  apple.sort(function(a, b) {

    return a - b; //若return返回值大于0(即a>b),則a,b交換位置

  })

);

2.降序

var arr = [45, 42, 10, 111, 7, 65, -74];

console.log(

  apple.sort(function(a, b) {

    return b - a; //若return返回值大于零(即b>a),則a,b交換位置

  })

);

7.如何判斷當(dāng)前腳本運(yùn)行在瀏覽器還是 node 環(huán)境中呀枢?

通過判斷Global對(duì)象是否為window胚股,如果不為window,當(dāng)前腳本沒有運(yùn)行在瀏覽器

8.移動(dòng)端最小觸控區(qū)域是多大裙秋?

蘋果推薦是 44pt x 44pt

9.移動(dòng)端的點(diǎn)擊事件的有延遲琅拌,時(shí)間是多久,為什么會(huì)有摘刑? 怎么解決這個(gè)延時(shí)进宝?

  • 300 毫秒

  • 因?yàn)?code>瀏覽器捕獲第一次單擊后,會(huì)先等待一段時(shí)間泣侮,如果在這段時(shí)間區(qū)間里用戶未進(jìn)行下一次點(diǎn)擊即彪,則瀏覽器會(huì)做單擊事件的處理。如果這段時(shí)間里用戶進(jìn)行了第二次單擊操作活尊,則瀏覽器會(huì)做雙擊事件處理隶校。

  • 推薦fastclick.js

10.解釋 JavaScript 中的作用域與變量聲明提升?

  • 作用域只會(huì)對(duì)某個(gè)范圍產(chǎn)生作用蛹锰,而不會(huì)對(duì)外產(chǎn)生影響的封閉空間深胳。在這樣的一些空間里,外部不能訪問內(nèi)部變量铜犬,但內(nèi)部可以訪問外部變量

  • 所有申明都會(huì)被提升到作用域的最頂

  • 同一個(gè)變量申明只進(jìn)行一次舞终,并且因此其他申明都會(huì)被忽略

  • 函數(shù)聲明的優(yōu)先級(jí)優(yōu)于變量申明轻庆,且函數(shù)聲明會(huì)連帶定義一起被提升

11.Node.js 的適用場景?

RESTFUL API敛劝、實(shí)時(shí)聊天余爆、客戶端邏輯強(qiáng)大的單頁 APP
本地化的在線音樂應(yīng)用夸盟,本地化的在線搜索應(yīng)用蛾方,本地化的在線 APP 等。

12.bind上陕、call桩砰、apply 的區(qū)別

callapply其實(shí)是一樣的,區(qū)別就在于傳參時(shí)參數(shù)是一個(gè)一個(gè)傳或者是以一個(gè)數(shù)組的方式來傳释簿。

callapply 都是在調(diào)用時(shí)生效亚隅,改變調(diào)用者的 this 指向

let name = 'Jack'

const obj = {name: 'Tom'}

function sayHi() {console.log('Hi! ' + this.name)}

sayHi() // Hi! Jack

sayHi.call(obj) // Hi! Tom
  • bind 也是改變this 指向,不過不是在調(diào)用時(shí)生效庶溶,而是返回一個(gè)新函數(shù)
const newFunc = sayHi.bind(obj)

newFunc() // Hi! Tom

13.使用構(gòu)造函數(shù)的注意點(diǎn)

一般情況下構(gòu)造函數(shù)的首字母需要大寫煮纵,因?yàn)槲覀冊诳吹揭粋€(gè)函數(shù)首字母大寫的情況,就認(rèn)定這是一個(gè)構(gòu)造函數(shù)渐尿,需要跟new關(guān)鍵字進(jìn)行搭配使用醉途,創(chuàng)建一個(gè)新的實(shí)例(對(duì)象)

  • 構(gòu)造函數(shù)在被調(diào)用的時(shí)候需要跟new關(guān)鍵字搭配使用。

  • 構(gòu)造函數(shù)內(nèi)部通過this+屬性名的形式為實(shí)例添加一些屬性和方法砖茸。

  • 構(gòu)造函數(shù)一般不需要返回值,如果有返回值

  • 如果返回值是一個(gè)基本數(shù)據(jù)類型殴穴,那么調(diào)用構(gòu)造函數(shù)凉夯,返回值仍舊是那么創(chuàng)建出來的對(duì)象。

  • 如果返回值是一個(gè)復(fù)雜數(shù)據(jù)類型采幌,那么調(diào)用構(gòu)造函數(shù)的時(shí)候劲够,返回值就是這個(gè)return之后的那個(gè)復(fù)雜數(shù)據(jù)類型

14.如何獲取瀏覽器版本信息

window.navigator.userAgent

15.數(shù)組的常用方法

Array.map()

  • 將數(shù)組中的每個(gè)元素調(diào)用一個(gè)提供的函數(shù),結(jié)果作為一個(gè)新的數(shù)組返回休傍,并沒有改變原來的數(shù)組
let arr = [1, 2, 3, 4, 5];

let newArr = arr.map(x =? x * 2);

//arr= [1, 2, 3, 4, 5]   原數(shù)組保持不變

//newArr = [2, 4, 6, 8, 10] 返回新數(shù)組

Array.forEach()

  • 將數(shù)組中的每個(gè)元素執(zhí)行傳進(jìn)提供的函數(shù)征绎,沒有返回值,直接改變原數(shù)組磨取,注意和 map 方法區(qū)分
let arr = [1, 2, 3, 4, 5];

num.forEach(x =? x * 2);

// arr = [2, 4, 6, 8, 10]  數(shù)組改變,注意和map區(qū)分

Array.filter()

  • 將所有元素進(jìn)行判斷人柿,將滿足條件的元素作為一個(gè)新的數(shù)組返回
let arr = [1, 2, 3, 4, 5]
const isBigEnough =? value =? value ?= 3
let newArr = arr.filter(isBigEnough )
//newNum = [3, 4, 5] 滿足條件的元素返回為一個(gè)新的數(shù)組
  

Array.every()

  • 將所有元素進(jìn)行判斷返回一個(gè)布爾值,如果所有元素都滿足判斷條件忙厌,則返回 true凫岖,否則為 false:
let arr = [1, 2, 3, 4, 5]
const isLessThan4 =? value =? value ? 4
const isLessThan6 =? value =? value ? 6
arr.every(isLessThan4 ) //false
arr.every(isLessThan6 ) //true

Array.some()

  • 將所有元素進(jìn)行判斷返回一個(gè)布爾值,如果存在元素都滿足判斷條件逢净,則返回 true哥放,若所有元素都不滿足判斷條件歼指,則返回 false:
let arr= [1, 2, 3, 4, 5]

    const isLessThan4 =? value =? value ? 4

    const isLessThan6 =? value =? value ? 6

    arr.some(isLessThan4 ) //true

    arr.some(isLessThan6 ) //false

Array.reduce()

  • 所有元素調(diào)用返回函數(shù),返回值為最后結(jié)果,傳入的值必須是函數(shù)類型:
let arr = [1, 2, 3, 4, 5];

const add = (a, b) =? a + b;

let sum = arr.reduce(add);

//sum = 15  相當(dāng)于累加的效果與之相對(duì)應(yīng)的還有一個(gè) ####Array.reduceRight() 方法甥雕,區(qū)別是這個(gè)是從右向左操作的

Array.push()

  • 在數(shù)組的后面添加新加元素踩身,此方法改變了數(shù)組的長度:

Array.pop()

  • 在數(shù)組后面刪除最后一個(gè)元素,并返回?cái)?shù)組社露,此方法改變了數(shù)組的長度:
let arr = [1, 2, 3, 4, 5];

arr.pop();

console.log(arr); //[1, 2, 3, 4]

console.log(arr.length); //4

Array.shift()

  • 在數(shù)組后面刪除第一個(gè)元素惰赋,并返回?cái)?shù)組,此方法改變了數(shù)組的長度:
let arr = [1, 2, 3, 4, 5];

arr.shift();

console.log(arr); //[2, 3, 4, 5]

console.log(arr.length); //4

Array.unshift()

  • 將一個(gè)或多個(gè)元素添加到數(shù)組的開頭呵哨,并返回新數(shù)組的長度:
let arr = [1, 2, 3, 4, 5];

arr.unshift(6, 7);

console.log(arr); //[6, 7, 2, 3, 4, 5]

console.log(arr.length); //7

Array.isArray()

  • 判斷一個(gè)對(duì)象是不是數(shù)組赁濒,返回的是布爾值

Array.concat()

  • 將多個(gè)數(shù)組拼接成一個(gè)數(shù)組:
let arr1 = [1, 2, 3]
    arr2 = [4, 5]
  let arr = arr1.concat(arr2)
  console.log(arr)//[1, 2, 3, 4, 5]
 

Array.toString()

  • 將數(shù)組轉(zhuǎn)化為字符串:
let arr = [1, 2, 3, 4, 5];
let str = arr.toString()
console.log(str)// 1,2,3,4,5

Array.join()

  • 將數(shù)組轉(zhuǎn)化為字符串:

let arr = [1, 2, 3, 4, 5];

let str1 = arr.toString()

let str2 = arr.toString(',')

let str3 = arr.toString('##')

console.log(str1)// 12345

console.log(str2)// 1,2,3,4,5

console.log(str3)// 1##2##3##4##5

Array.splice(開始位置, 刪除的個(gè)數(shù)孟害,元素)

  • 萬能方法拒炎,可以實(shí)現(xiàn)增刪改:
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.splice(2, 0 'haha')
let arr2 = arr.splice(2, 3)
let arr1 = arr.splice(2, 1 'haha')
console.log(arr1) //[1, 2, 'haha', 3, 4, 5]新增一個(gè)元素
console.log(arr2) //[1, 2] 刪除三個(gè)元素
console.log(arr3) //[1, 2, 'haha', 4, 5] 替換一個(gè)元素

16.字符串常用操作

  • charAt(index):返回指定索引處的字符串

  • charCodeAt(index):返回指定索引處的字符的Unicode的值

  • concat(str1,str2,...):連接多個(gè)字符串,返回連接后的字符串的副本

  • fromCharCode():將 Unicode 值轉(zhuǎn)換成實(shí)際的字符串

  • indexOf(str):返回 str在父串中第一次出現(xiàn)的位置挨务,若沒有則返回-1

  • lastIndexOf(str):返回 str 在父串中最后一次出現(xiàn)的位置击你,若沒有則返回-1

  • match(regex):搜索字符串,并返回正則表達(dá)式的所有匹配

  • replace(str1,str2):str1 也可以為正則表達(dá)式谎柄,用str2替換 str1

  • search(regex):基于正則表達(dá)式搜索字符串丁侄,并返回第一個(gè)匹配的位置

  • slice(start,end):返回字符索引在startend(不含)之間的子串

  • split(sep,limit):將字符串分割為字符數(shù)組朝巫,limit 為從頭開始執(zhí)行分割的最大數(shù)量

  • substr(start鸿摇,length):從字符索引start的位置開始,返回長度為length的子串

  • substring(from,to):返回字符索引在fromto(不含)之間的子串

  • toLowerCase():將字符串轉(zhuǎn)換為小寫

  • toUpperCase():將字符串轉(zhuǎn)換為大寫

  • valueOf():返回原始字符串值

17.作用域的概念及作用

  • 作用域 :起作用的一塊區(qū)域

  • 作用域的概念: 對(duì)變量保護(hù)作用的一塊區(qū)域

  • 作用: 作用域外部無法獲取到作用域內(nèi)部聲明的變量劈猿,作用域內(nèi)部能夠獲取到作用域外界聲明的變量拙吉。

18.作用域的分類

塊作用域、詞法作用域揪荣、動(dòng)態(tài)作用域

1). 塊作用域

  • 花括號(hào) {}

2). 詞法作用域

  • 作用域只跟在何處被創(chuàng)建有關(guān)系筷黔,跟在何處被調(diào)用沒有關(guān)系

3). 動(dòng)態(tài)作用域

  • 作用域只跟在何處被調(diào)用有關(guān)系,跟在何處被創(chuàng)建沒有關(guān)系

19.js 屬于哪種作用域

詞法作用域(函數(shù)作用域)

塊作用域

{
    var num =123;
}
console.log(num);
  • 如果js屬于塊作用域仗颈,那么在花括號(hào)外部就無法訪問到花括號(hào)內(nèi)部的聲明的num變量佛舱。

  • 如果js不屬于塊級(jí)作用域,那么花括號(hào)外部就能夠訪問到花括號(hào)內(nèi)部聲明的num變量

  • 能夠輸出num變量挨决,也就說明js不屬于塊級(jí)作用请祖。

  • ES6之前的版本js是不存在塊級(jí)作用域的。

  • js屬于詞法作用域還是動(dòng)態(tài)作用域

  • js中函數(shù)可以幫我們?nèi)バ纬梢粋€(gè)作用域

function fn(){
     var num =123;

    }

    fn();

    //在函數(shù)外界能否訪問到num這樣一個(gè)變量
    console.log(num)
 //Uncaught ReferenceError: num is not defined
  • 如果函數(shù)能夠生成一個(gè)作用域凰棉,那么在函數(shù)外界就無法訪問到函數(shù)內(nèi)部聲明的變量损拢。

  • js中的函數(shù)能夠生成一個(gè)函數(shù)作用域

詞法作用域

  • 作用的外界只跟作用域在何處創(chuàng)建有關(guān)系撒犀,跟作用域在何處被調(diào)用沒有關(guān)系
var num = 123;

function f1() {

  console.log(num); //

}

function f2() {

  var num = 456;

  f1(); //f1在f2被調(diào)用的時(shí)候會(huì)被執(zhí)行 福压。

}

f2();
  • 如果js詞法作用域掏秩,那么就會(huì)輸出f1被創(chuàng)建的時(shí)候外部的num變量 123

  • 如果js動(dòng)態(tài)作用域,那么f1執(zhí)行的時(shí)候就會(huì)輸出f1被調(diào)用時(shí)外部環(huán)境中的num 456

20.自執(zhí)行函數(shù)?用于什么場景荆姆?好處?

自執(zhí)行函數(shù):

  • 1). 聲明一個(gè)匿名函數(shù)

  • 2). 馬上調(diào)用這個(gè)匿名函數(shù)蒙幻。

作用:創(chuàng)建一個(gè)獨(dú)立的作用域。好處:防止變量彌散到全局胆筒,以免各種 js 庫沖突邮破。隔離作用域避免污染,或者截?cái)嘧饔糜蜴溒途龋苊忾]包造成引用變量無法釋放抒和。利用立即執(zhí)行特性,返回需要的業(yè)務(wù)函數(shù)對(duì)象彤蔽,避免每次通過條件判斷來處理場景:一般用于框架摧莽、插件等場景

21.多個(gè)頁面之間如何進(jìn)行通信

  • 有如下幾個(gè)方式:

cookie
web worker
localeStorage
sessionStorage

22.css 動(dòng)畫和 js 動(dòng)畫的差異

  • 代碼復(fù)雜度,js動(dòng)畫代碼相對(duì)復(fù)雜一些

  • 動(dòng)畫運(yùn)行時(shí)顿痪,對(duì)動(dòng)畫的控制程度上镊辕,js能夠讓動(dòng)畫暫停取消蚁袭,終止征懈,css動(dòng)畫不能添加事件

  • 動(dòng)畫性能看,js動(dòng)畫多了一個(gè)js解析的過程揩悄,性能不如css動(dòng)畫好

23.數(shù)組方法 pop() push() unshift() shift()

  • arr.pop()后面刪除元素卖哎,只能是一個(gè),返回值是刪除的元素

  • arr.push()后面添加元素虏束,返回值為添加完后的數(shù)組的長度

  • arr.unshift()前面添加元素, 返回值是添加完后的數(shù)組的長度

  • arr.shift()前面刪除元素棉饶,只能刪除一個(gè)返回值是刪除的元素

24.事件綁定與普通事件有什么區(qū)別

  • 普通事件添加相同事件,下面會(huì)覆蓋上面的镇匀,而事件綁定不會(huì)

  • 普通事件是針對(duì)非 dom元素,事件綁定是針對(duì)dom元素的事件

25.IE 和標(biāo)準(zhǔn)下有哪些兼容性的寫法


var ev = ev || window.event;

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

var target = ev.srcElement || ev.target;

26.js 中 this 閉包 作用域

  • this:指向調(diào)用上下文
  • 閉包:定義一個(gè)函數(shù)就開辟了一個(gè)局部作用域袜啃,整個(gè)js執(zhí)行環(huán)境有一個(gè)全局作用域
  • 作用域:一個(gè)函數(shù)可以訪問其他函數(shù)中的變量(閉包是一個(gè)受保護(hù)的變量空間)
var f = (function fn() {

  var name = 1;

  return function () {

  name++;

  console.log(name)

  }

})()

==?undefined 

27.javascript 的本地對(duì)象汗侵,內(nèi)置對(duì)象和宿主對(duì)象

本地對(duì)象

ECMA-262把本地對(duì)象(native object)定義為“獨(dú)立于宿主環(huán)境的ECMAScript實(shí)現(xiàn)提供的對(duì)象",簡單來說,本地對(duì)象就是ECMA-262定義的類(引用類型)

  • 包括:

Object群发、Function晰韵、ArrayString熟妓、Boolean雪猪、NumberDate起愈、RegExp只恨、Error译仗、EvalErrorRangeError官觅、ReferenceError纵菌、SyntaxErrorTypeError休涤、URIError

內(nèi)置對(duì)象

JS中內(nèi)置了17個(gè)對(duì)象咱圆,常用的是Array對(duì)象Date對(duì)象功氨、正則表達(dá)式對(duì)象序苏、string對(duì)象Global對(duì)象

宿主對(duì)象

ECMAScript實(shí)現(xiàn)的宿主環(huán)境提供的對(duì)象捷凄,可以理解為:瀏覽器提供的對(duì)象,所有的BOMDOM都是宿主對(duì)象忱详。

28.javascript 的同源策略

一段腳本只能讀取來自于同一來源的窗口和文檔的屬性解析:同源策略:限制從一個(gè)源加載的文檔或腳本如何與來自另一個(gè)源的資源進(jìn)行交互。這是一個(gè)用于隔離潛在惡意文件的關(guān)鍵的安全機(jī)制纵势。(來自 MDN 官方的解釋)簡單來說就是:一段腳本只能讀取來自于同一來源的窗口文檔的屬性踱阿,這里的同一來源指的是主機(jī)名協(xié)議端口號(hào)的組合

具體解釋:

1). 源包括三個(gè)部分:協(xié)議钦铁、域名软舌、端口(http 協(xié)議的默認(rèn)端口是 80)。如果有任何一個(gè)部分不同牛曹,則源不同佛点,那就是跨域了
2). 限制:這個(gè)源的文檔沒有權(quán)利去操作另一個(gè)源的文檔。這個(gè)限制體現(xiàn)在:

  • Cookie黎比、LocalStorageIndexDB 無法獲取超营。
  • 無法獲取和操作DOM
  • 不能發(fā)送ajax請(qǐng)求(ajax 在不同域名下的請(qǐng)求無法實(shí)現(xiàn),需要進(jìn)行跨域操作)

29.事件冒泡與事件捕獲

  • 事件冒泡:由最具體的元素(目標(biāo)元素)向外傳播到最不具體的元素
  • 事件捕獲:由最不確定的元素到目標(biāo)元素

30.復(fù)雜數(shù)據(jù)類型如何轉(zhuǎn)變?yōu)樽址?/h2>

首先阅虫,會(huì)調(diào)用 valueOf 方法演闭,如果方法的返回值是一個(gè)基本數(shù)據(jù)類型,就返回這個(gè)值

如果調(diào)用 valueOf 方法之后的返回值仍舊是一個(gè)復(fù)雜數(shù)據(jù)類型颓帝,就會(huì)調(diào)用該對(duì)象的 toString 方法

如果 toString 方法調(diào)用之后的返回值是一個(gè)基本數(shù)據(jù)類型米碰,就返回這個(gè)值,

如果 toString 方法調(diào)用之后的返回值是一個(gè)復(fù)雜數(shù)據(jù)類型购城,就報(bào)一個(gè)錯(cuò)誤

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吕座,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瘪板,更是在濱河造成了極大的恐慌吴趴,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侮攀,死亡現(xiàn)場離奇詭異锣枝,居然都是意外死亡厢拭,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門惊橱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚪腐,“玉大人,你說我怎么就攤上這事税朴』丶荆” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵正林,是天一觀的道長泡一。 經(jīng)常有香客問我,道長觅廓,這世上最難降的妖魔是什么鼻忠? 我笑而不...
    開封第一講書人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮杈绸,結(jié)果婚禮上帖蔓,老公的妹妹穿的比我還像新娘。我一直安慰自己瞳脓,他們只是感情好塑娇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劫侧,像睡著了一般埋酬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上烧栋,一...
    開封第一講書人閱讀 51,590評(píng)論 1 305
  • 那天写妥,我揣著相機(jī)與錄音,去河邊找鬼审姓。 笑死珍特,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的魔吐。 我是一名探鬼主播次坡,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼画畅!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起宋距,我...
    開封第一講書人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤轴踱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后谚赎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體淫僻,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诱篷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雳灵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棕所。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖悯辙,靈堂內(nèi)的尸體忽然破棺而出琳省,到底是詐尸還是另有隱情,我是刑警寧澤躲撰,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布针贬,位于F島的核電站,受9級(jí)特大地震影響拢蛋,放射性物質(zhì)發(fā)生泄漏桦他。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一谆棱、第九天 我趴在偏房一處隱蔽的房頂上張望快压。 院中可真熱鬧,春花似錦垃瞧、人聲如沸蔫劣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拦宣。三九已至,卻和暖如春信姓,著一層夾襖步出監(jiān)牢的瞬間鸵隧,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來泰國打工意推, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豆瘫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓菊值,卻偏偏與公主長得像外驱,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子腻窒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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

  • 11昵宇、數(shù)據(jù)類型檢測與toString方法的理解 1,typeof value (檢測一個(gè)值的類型:原始類型或者引用...
    萌妹撒閱讀 824評(píng)論 0 0
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,208評(píng)論 0 3
  • 一儿子、 入門 1瓦哎、 JS代碼書寫的位置 寫在行內(nèi) 寫在script標(biāo)簽中 寫在外部js文件中,在頁面引入 注意點(diǎn): ...
    寵辱不驚丶?xì)q月靜好閱讀 852評(píng)論 0 0
  • 15、正則 正則就是一個(gè)規(guī)則蒋譬,用來處理字符串的規(guī)則1割岛、正則匹配編寫一個(gè)規(guī)則,驗(yàn)證某個(gè)字符串是否符合這個(gè)規(guī)則犯助,正則匹...
    萌妹撒閱讀 1,444評(píng)論 0 1
  • JS基礎(chǔ)語法 一癣漆、類型轉(zhuǎn)換很多時(shí)候,我們在進(jìn)行數(shù)據(jù)運(yùn)算或輸出等操作時(shí)需要將數(shù)據(jù)在不同類型之間進(jìn)行轉(zhuǎn)換剂买,在JS 數(shù)據(jù)...
    小山居閱讀 614評(píng)論 0 1