JavaScript運(yùn)算符

在編程語言當(dāng)中抚太,運(yùn)算符是處理數(shù)據(jù)的基本方法塘幅,能夠根據(jù)現(xiàn)有的值得到新的值。
運(yùn)算符也叫操作符尿贫,通過運(yùn)算符可以對一個或多個值進(jìn)行運(yùn)算电媳,并獲取運(yùn)算結(jié)果。比如:typeof就是運(yùn)算符庆亡,可以來獲得一個值的類型匾乓。

JavaScript當(dāng)中,存在下列的運(yùn)算符又谋。

  • 賦值運(yùn)算符
  • 比較運(yùn)算符
  • 算數(shù)運(yùn)算符
  • 位運(yùn)算符
  • 邏輯運(yùn)算符
  • 字符串運(yùn)算符
  • 條件(三元)運(yùn)算符
  • 逗號運(yùn)算符
  • 一元運(yùn)算符
  • 關(guān)系運(yùn)算符

賦值運(yùn)算符

賦值運(yùn)算符(assignment operator)基于右值(right operand)的值拼缝,給左值(left operand)賦值娱局。

在之前的內(nèi)容中,我們通過下面的寫法來創(chuàng)建變量咧七。

var a = 10;

上面我們通過=來將右邊的10存儲到左邊的變量a身上衰齐。而這種操作,我們在編程當(dāng)中稱之為賦值继阻。

=也就是賦值運(yùn)算符耻涛。也可以使用鏈?zhǔn)劫x值。

var a = b = c = 15;
console.log(a,b,c);//15,15,15 

順序是從右向左的進(jìn)行賦值操作瘟檩。

下面的列表中包含全部的賦值運(yùn)算符抹缕。

  • 賦值 x = y
  • 加賦值 x += y
  • 減賦值 x -= y
  • 乘賦值 x *= y
  • 除賦值 x /= y
  • 模賦值 x %= y
  • 指數(shù)賦值 x **= y
  • 左移賦值 x <<= y
  • 右移賦值 x >>= y
  • 無符號右移賦值 x >>>= y
  • 按位與賦值 x &= y
  • 按位異或賦值 x ^= y
  • 按位或賦值 x |= y

賦值

簡單的賦值運(yùn)算符,把一個值賦給一個變量芒帕。為了把一個值賦給多個變量歉嗓,可以以鏈?zhǔn)绞褂觅x值運(yùn)算符。

加賦值

加賦值運(yùn)算符把一個右值與一個變量相加背蟆,然后把相加的結(jié)果賦給該變量鉴分。兩個操作數(shù)的類型決定了加賦值運(yùn)算符的行為。算術(shù)相加或字符串連接都有可能带膀。

例如:

var x = 10;
var y = 20;
x += y;
console.log(x); 
// 相當(dāng)于 
x = x + y;

減賦值

減賦值運(yùn)算符使一個變量減去右值志珍,然后把結(jié)果賦給該變量。

例如:

var x = 10;
var y = 20;
x -= y;
console.log(x); // -10 
// 相當(dāng)于 
x = x - y;

乘賦值

乘賦值運(yùn)算符使一個變量乘以右值垛叨,然后把相成的結(jié)果賦給該變量伦糯。

例如:

var x = 10;
var y = 20;
x *= y;
console.log(x); // 200
// 相當(dāng)于
x = x * y;

除賦值

除賦值運(yùn)算符使一個變量除以右值,然后把結(jié)果賦給該變量嗽元。

例如:

var a = 10;
var b = 20;
a /= b;
console.log(a);
// 相當(dāng)于 
a = a / b; 

模賦值

模賦值運(yùn)算符使一個變量除以右值敛纲,然后把余數(shù)交給該變量。

var a = 10;
var b = 20;
a %= b;
console.log(a);
//等同于 
a = a % b;
9NB9G0AWRD)X7X1N$62N2ZM.png

指數(shù)賦值

指數(shù)賦值運(yùn)算符使一個變量為底數(shù)剂癌、以右值為指數(shù)的指數(shù)運(yùn)算(乘方)結(jié)果賦給該變量淤翔。

例如:

var x = 2;
var y = 3;
x **= y;
console.log(x); // 8
// 相當(dāng)于
x = x ** y 

比較運(yùn)算符

比較運(yùn)算符包括下列內(nèi)容:

  • 等于 == 如果兩邊操作數(shù)相等時返回true。
  • 不等于 != 如果兩邊操作數(shù)不相等時返回true
  • 全等 === 兩邊操作數(shù)相等且類型相同時返回true佩谷。
  • 不全等!== 兩邊操作數(shù)不相等或類型不同時返回true旁壮。
  • 大于> 左邊的操作數(shù)大于右邊的操作數(shù)返回true
  • 大于等于>= 左邊的操作數(shù)大于或等于右邊的操作數(shù)返回true
  • 小于< 左邊的操作數(shù)小于右邊的操作數(shù)返回true
  • 小于等于<= 左邊的操作數(shù)小于或等于右邊的操作數(shù)返回true

=> 并不是一個運(yùn)算符,而是箭頭函數(shù)谐檀。

/*
下面是比較運(yùn)算符的示例:
 */
// == 相等運(yùn)算符
console.log(10 == 10); // true
console.log(20 == "20"); // true 

// 抡谐!= 不等運(yùn)算符  
console.log(3 != 2); // true
console.log(2 != "hello"); // true

// === 全等
console.log(3 === 3);  // true
console.log(3 === "3"); // false  值雖然相等,但是類型不相等桐猬。

// !== 不全等
console.log(3 !== "3");  // true
console.log(3 !== 2); // true

// > 大于  
console.log(3 > 2); // true
console.log("3" > "4");  // false   

// < 小于  
console.log(2 < 1); // false
console.log(3 < 4); // true

// >= 大于等于
// <= 小于等于
console.log(2 >= 1); // true
console.log(2 >= 2); // true
console.log(3 <= 3); // true
console.log(3 <= 4); // true

關(guān)系操作符

關(guān)系操作符對操作數(shù)進(jìn)行比較麦撵,根據(jù)比較結(jié)果真或假,返回相應(yīng)的布爾值。

算數(shù)運(yùn)算符

當(dāng)對非Number類型的值進(jìn)行運(yùn)算時厦坛,會將這些值轉(zhuǎn)化為Nunber然后再運(yùn)算(字符串除外)五垮,任何值和NaN做運(yùn)算都得NaN;
js當(dāng)中,除了提供基礎(chǔ)的+,-,*,/以外杜秸,還提供了一些其他的運(yùn)算符,下面是所有的算術(shù)運(yùn)算符:

  • +加法運(yùn)算

    + 可以對兩個值進(jìn)行加法運(yùn)算润绎,并將結(jié)果返回撬碟,
    如果對兩個字符串進(jìn)行加法運(yùn)算,都會先轉(zhuǎn)化為字符串莉撇,并返回呢蛤,任何的值和字符串做加法運(yùn)算,都會先轉(zhuǎn)化為字符串棍郎,然后在和字符串做拼串的操作

  • - 減法運(yùn)算
  • *乘法運(yùn)算
  • / 除法運(yùn)算
  • %求余運(yùn)算(求模運(yùn)算)
  • +一元正值符
  • -一元負(fù)值符
  • ++自增運(yùn)算
  • --自減運(yùn)算
  • **指數(shù)運(yùn)算符

例子:

    /*
        下面是一些算數(shù)運(yùn)算符的案例:  
     */

    var a,b;
    a = 10;
    b = 3;

    console.log(a + b); // 13
    console.log(a - b); // 7 
    console.log(a * b); // 30 
    console.log(a / b); // 3.3333333333333335

    console.log(a % b); // 1 
    console.log(++a); // 11  自增|自減符號在前其障,則先運(yùn)算,在使用值
    console.log(a++); // 11 自增|自減符號在后涂佃,則先使用值励翼,在運(yùn)算
    console.log(a); // 12  // 上面a++后a由11變成了12

    // 指數(shù)運(yùn)算符
    var f = 2;
    var x = 3;

    console.log(f ** x); // 8 相當(dāng)于2 的 3 次冪

自增和自減

  • ++自增運(yùn)算
    通過自增可以使變量在自身的基礎(chǔ)上增加1,
    自增分兩種:后++(a++)和前++(++a);
    a++的值等于原變量的值(自增前的值)辜荠;
    ++a的值等于原變量的新值(自增后的值)汽抚;
var a = 10; 
console.log(a++); // 10
console.log(++a); // 11
  • --自減運(yùn)算:自減和自增同理

邏輯運(yùn)算符

邏輯運(yùn)算符常用于布爾(邏輯)值之間; 當(dāng)操作數(shù)都是布爾值時,返回值也是布爾值伯病。 不過實(shí)際上&&||返回的是一個特定的操作數(shù)的值造烁,所以當(dāng)它用于非布爾值的時候,返回值就可能是非布爾值午笛。

下面是邏輯運(yùn)算符:

  • 邏輯與(&&)
  • 邏輯或(||)
  • 邏輯非(!)

邏輯與:

邏輯與&&運(yùn)算符又稱為且運(yùn)算符惭蟋,往往用于多個表達(dá)式之間的求值。

它的運(yùn)算規(guī)則是:如果第一個運(yùn)算子的布爾值為true药磺,則返回第二個運(yùn)算子的值(注意是值告组,不是布爾值);如果第一個運(yùn)算子的布爾值為false与涡,則直接返回第一個運(yùn)算子的值惹谐,且不再對第二個運(yùn)算子求值。

語法:

exrp1 && exrp2;

邏輯或:

邏輯或||運(yùn)算符又稱為或運(yùn)算符驼卖,同樣用于在多個表達(dá)式之間求值氨肌。

它的運(yùn)算規(guī)則是:如果第一個運(yùn)算子的布爾值為true,則返回第一個運(yùn)算子的值酌畜,且不再對第二個運(yùn)算子求值怎囚;如果第一個運(yùn)算子的布爾值為false,則返回第二個運(yùn)算子的值。

語法:

exrp1 || exrp2

例如:

// 邏輯與
    // 當(dāng)運(yùn)算符的前后都為條件語句的時候恳守,當(dāng)條件同時為true考婴,則返回true,否則返回false
    var a = 1;
    var b = 2;
    console.log(a > 0 && b > a); //true 第一個條件判斷為true催烘,第二個條件判斷為true沥阱,那么整體返回true
    console.log(a > b && b > 1); // false 第一個條件判斷為false,第二個條件判斷為true伊群,整體返回false
    console.log(a > 0 && b > 2); // false 第一個條件為true考杉,第二個條件為false,整體返回false
    //
    console.log("dog" && "cat"); // cat  當(dāng)運(yùn)算符的前后是一個直接量的時候舰始,如果運(yùn)算符前后都為true崇棠,則返回第二個直接量   
    // 邏輯或
    console.log(a > b || b > a); //true 其中只要有一個條件成立,那么就會返回true
    console.log(a > 2 || b > 2); // false 兩個條件都不成立丸卷,所以返回fasle
    // 第一個條件如果成立枕稀,那么就不會去讀取后面的條件
    console.log(a > 0 || b > 2); // true 

在上面的兩個邏輯運(yùn)算符的使用過程中,容易造成短路效果谜嫉。

  • false && anything // 被短路求值為false
  • true || anything // 被短路求值為true

在上面的短路代碼中萎坷,anything部分不會被求值,也就意味著不會對代碼產(chǎn)生任何的影響骄恶。

邏輯與運(yùn)算符和邏輯或的連用:

邏輯與運(yùn)算符可以多個連用食铐,這時返回第一個布爾值為false的表達(dá)式的值。如果所有表達(dá)式的布爾值都為true僧鲁,則返回最后一個表達(dá)式的值虐呻。

true && 'foo' && '' && 4 && 'foo' && true
// ''

1 && 2 && 3
// 3

上面代碼中,例一里面寞秃,第一個布爾值為false的表達(dá)式為第三個表達(dá)式斟叼,所以得到一個空字符串。例二里面春寿,所有表達(dá)式的布爾值都是true朗涩,所有返回最后一個表達(dá)式的值3

運(yùn)算符可以多個連用绑改,這時返回第一個布爾值為true的表達(dá)式的值谢床。如果所有表達(dá)式都為false,則返回最后一個表達(dá)式的值厘线。

false || 0 || '' || 4 || 'foo' || true
// 4

false || 0 || ''
// ''

上面代碼中识腿,例一里面,第一個布爾值為true的表達(dá)式是第四個表達(dá)式造壮,所以得到數(shù)值4渡讼。例二里面,所有表達(dá)式的布爾值都為false,所以返回最后一個表達(dá)式的值成箫。

邏輯或運(yùn)算符通常情況下用于給一個變量設(shè)置默認(rèn)值展箱。

var a = username || "zhangsan";

邏輯非:

邏輯非(!)運(yùn)算符又叫取反運(yùn)算符,就是取一個值的反值蹬昌。主要用于將一個布爾值變?yōu)橄喾粗祷斐邸<?code>true變?yōu)?code>false,false變?yōu)?code>true。

如果使用取反運(yùn)算符的值不是一個布爾值凳厢,那么取反運(yùn)算符就會將其變?yōu)橐粋€布爾值账胧,然后再取反。

下面的六個值使用取反運(yùn)算符取反后都為true先紫,其他都為false

  • undefined
  • null
  • false
  • 0
  • NaN
  • 空字符串('')
!undefined // true
!null // true
!0 // true
!NaN // true
!"" // true

!54 // false
!'hello' // false
![] // false
!{} // false

不管什么類型的值筹煮,經(jīng)過取反運(yùn)算后都會變成布爾值遮精。

如果對一個值連續(xù)做兩次的取反運(yùn)算,等于將其轉(zhuǎn)換為對應(yīng)的布爾值败潦,與Boolean函數(shù)的作用相同本冲。這是一種較為常見的類型轉(zhuǎn)換的方法。

例如:

var a = "hello";
console.log(!!a); // true 

字符串運(yùn)算符

字符串運(yùn)算符指的是+劫扒,通過加號檬洞,我們可以對兩個字符串進(jìn)行拼接從而返回一個新的字符串。

var a = "hello,";
var b = "world!";
console.log(a + b); // hello,world!

也可以采用簡寫的形式來拼接字符串沟饥。

var str = "hello,";
var str += "world!";
console.log(str); // hello,world!

我們也可以在使用的過程中進(jìn)行數(shù)據(jù)的拼接添怔。

var sayHello = "hello,my name is ";
console.log(sayHello + "zhangsan");// hello,my name is zhangsan

條件運(yùn)算符

條件運(yùn)算符也稱之為三元運(yùn)算符

條件運(yùn)算符是JavaScript中唯一需要三個操作數(shù)的運(yùn)算符贤旷。運(yùn)算的結(jié)果根據(jù)給定條件在兩個值中取其一广料。語法為:

條件 ? 值1 : 值2

如果條件為真,則結(jié)果取值1幼驶。否則為值2艾杏。你能夠在任何允許使用標(biāo)準(zhǔn)運(yùn)算符的地方使用條件運(yùn)算符。

var status = (age >= 18) ? "adult" : "minor";

當(dāng) age 大于等于18的時候盅藻,將“adult”賦值給status购桑;否則將“minor”賦值給 status

逗號運(yùn)算符

逗號操作符(,)對兩個操作數(shù)進(jìn)行求值并返回最終操作數(shù)的值氏淑。它常常用在 for 循環(huán)中勃蜘,在每次循環(huán)時對多個變量進(jìn)行更新。

當(dāng)然夸政,我們在console.log()的過程中元旬,如果輸出多個值,也會用到逗號運(yùn)算符。

console.log("hello","world");

一元運(yùn)算符

  • +一元正值符
  • -一元負(fù)值符
  // 一元正值符匀归,如果操作數(shù)不是Number坑资,則會先將操作數(shù)轉(zhuǎn)換為Number,然后在運(yùn)算穆端,原理和Nunber()函數(shù)
    var c = "3";
    console.log(+c,typeof +c); // 3 number 

    // 一元負(fù)值負(fù)袱贮,將一個值變?yōu)樨?fù)數(shù)
    var d = 3;
    console.log(-d); // -3  

    var e = '3';
    console.log(-e,typeof -e); //-3 number 也起到了轉(zhuǎn)換的效果

    console.log(-3 === -e); // true

一元操作符()

一元操作符僅對應(yīng)一個操作數(shù)。

常用的一元操作符有如下幾個:

  • delete
  • typeof
  • void

delete主要用于刪除對象當(dāng)中的某個元素体啰。

void主要用于表明一個運(yùn)算沒有返回值攒巍。

例如:

var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3]; // 刪除數(shù)組當(dāng)中的一個元素 

<a href="javascript:void(0)">Click here to do nothing</a> // 用戶點(diǎn)擊這個鏈接不會有任何效果

上面的demo中的兩個運(yùn)算符,我們暫時還沒有用到荒勇,所以可以先放在這柒莉,后面再來理解。

至于typeof運(yùn)算符沽翔,主要用來查看數(shù)據(jù)的類型兢孝,將獲取的數(shù)據(jù)類型以一個字符串的形式展示出來。

var a = "hello,world!";
console.log(typeof a); // "string"

var b = 13;
console.log(typeof (b)); // "number"

在上面的demo中仅偎,我們發(fā)現(xiàn)typeof有兩種使用方式跨蟹。運(yùn)算符后面的括號可以選擇省略或者不省略。

案例:

console.log(typeof "hello,world"); // "string"
console.log(typeof 10); // "number"
console.log(typeof true); // "boolean"
console.log(typeof false); // "boolean"
console.log(typeof null); // "object"
console.log(typeof undefined); // "undefined"

// 查看typeof返回的數(shù)據(jù)的類型
console.log(typeof typeof(10)); // "string"

in

in:用來遍歷對象橘沥,in右操作數(shù)必須是一個對象值窗轩。例如,你可以指定使用String構(gòu)造函數(shù)創(chuàng)建的字符串座咆,但不能指定字符串文字痢艺;

var color1 = new String("green");
"length" in color1 // 返回true
var color2 = "coral";
"length" in color2 // 報錯(color2不是對象)

instanceof

  • instanceof:用來判斷對象的構(gòu)造函數(shù)。

運(yùn)算符優(yōu)先級

運(yùn)算符的優(yōu)先級箫措,用于確定一個表達(dá)式的計(jì)算順序腹备。在你不能確定優(yōu)先級時,可以通過使用括號顯式聲明運(yùn)算符的優(yōu)先級斤蔓。

下表列出了描述符的優(yōu)先級植酥,從最高到最低。

Operator type Individual operators
member . []
call / create instance () new
negation/increment ! ~ - + ++ -- typeof void delete
multiply/divide * / %
addition/subtraction + -
bitwise shift << >> >>>
relational < <= > >= in instanceof
equality == != === !==
bitwise-and &
bitwise-xor ^
bitwise-or ` `
logical-and &&
logical-or ` `
conditional ?:
assignment `= += -= *= /= %= <<= >>= >>>= &= ^= =`
comma ,

小練習(xí):

1弦牡、為抵抗洪水友驮,戰(zhàn)士連續(xù)作戰(zhàn)89小時,編程計(jì)算共多少天零多少小時驾锰?

var sum_hour = 89;
var day = parseInt(89 / 24);
var hour = 89 % 24 ;
console.log("共計(jì)用了" + day + "天" + hour + "小時");

2卸留、小明要到美國旅游,可是那里的溫度是以華氏度為單位記錄的椭豫。
它需要一個程序?qū)⑷A氏溫度(80度)轉(zhuǎn)換為攝氏度耻瑟,并以華氏度和攝氏度為單位分別顯示該溫度旨指。
提示:攝氏度與羋氏度的轉(zhuǎn)換公式為:攝氏度 = 5/9.0*(華氏度-32)保留3位小數(shù)

var a_temperature = 80;
var local_c = ( 5 / 9.0 * ( a_temperature - 32) ) .toFixed(3);
console.log("當(dāng)前的溫度是:"+local_c+"攝氏度");

3、計(jì)算兩個文本框內(nèi)數(shù)字的和

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>兩個文本框內(nèi)的和</title>
</head>
<body>
    <input type="text" name="v1" placeholder="請輸入第一個數(shù)值" id="v1">  + 
    <input type="text" name="v2" placeholder="請輸入第二個數(shù)值" id="v2"> = 
    <input type="text" name="add_v" value="當(dāng)前的數(shù)值之和是:" id="add_v">
    <button onclick="add()">點(diǎn)擊計(jì)算</button>
</body>
<script>

    function add(){
        // 獲取三個輸入框元素
        var v1,v2,v3;
        v1 = document.getElementById("v1");
        v2 = document.getElementById("v2");
        v3 = document.getElementById("add_v");

        var add = Number(v1.value) + Number(v2.value);
        v3.value = "當(dāng)前的數(shù)值之和是:" + add;
    }

</script>
</html>

3喳整、計(jì)算 var k=0; console.log(k++ + ++k +k +k++);

結(jié)果是6谆构。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市框都,隨后出現(xiàn)的幾起案子搬素,更是在濱河造成了極大的恐慌,老刑警劉巖魏保,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熬尺,死亡現(xiàn)場離奇詭異,居然都是意外死亡谓罗,警方通過查閱死者的電腦和手機(jī)粱哼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來檩咱,“玉大人皂吮,你說我怎么就攤上這事∷笆郑” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵需纳,是天一觀的道長芦倒。 經(jīng)常有香客問我,道長不翩,這世上最難降的妖魔是什么兵扬? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮口蝠,結(jié)果婚禮上器钟,老公的妹妹穿的比我還像新娘。我一直安慰自己妙蔗,他們只是感情好傲霸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著眉反,像睡著了一般昙啄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寸五,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天梳凛,我揣著相機(jī)與錄音,去河邊找鬼梳杏。 笑死韧拒,一個胖子當(dāng)著我的面吹牛淹接,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播叛溢,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼塑悼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了雇初?” 一聲冷哼從身側(cè)響起拢肆,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎靖诗,沒想到半個月后郭怪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刊橘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年鄙才,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片促绵。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡攒庵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出败晴,到底是詐尸還是另有隱情浓冒,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布尖坤,位于F島的核電站稳懒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏慢味。R本人自食惡果不足惜场梆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望纯路。 院中可真熱鬧或油,春花似錦、人聲如沸驰唬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽定嗓。三九已至蜕琴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宵溅,已是汗流浹背凌简。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留恃逻,地道東北人雏搂。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓藕施,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凸郑。 傳聞我的和親對象是個殘疾皇子裳食,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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