Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲精品一区二区久久,亚洲成人综合在线,成人区视频爽爽爽爽爽

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          帶你走進(jìn)JavaScript世界系列-事件處理程序之HTML事件處理

          面我們已經(jīng)介紹了事件的概念,而響應(yīng)某個(gè)事件的函數(shù)就叫做事件處理程序。事件處理程序的名字以 "on" 開頭,因此 click 事件的處理程序就是 onclick ,load 事件的處理程序就是 onload。

          HTML 事件處理程序

          某個(gè)元素支持的每種事件,都可以使用一個(gè)相應(yīng)事件處理程序同名的 HTML 特性來(lái)指定。這個(gè)特性的值應(yīng)該是能夠執(zhí)行的 JavaScript 代碼。例如,要在按鈕被單擊時(shí)執(zhí)行一些操作,可以像下面代碼一樣:

          <input type="button" value="點(diǎn)擊我" onclick="alert('我被點(diǎn)擊了。。')" /> 
          

          注意,上面這種寫法不能在其中使用未經(jīng)轉(zhuǎn)義的 HTML 語(yǔ)法字符,如果要使用 HTML 語(yǔ)法字符,就需要使用轉(zhuǎn)義字符了。

          在 HTML 中定義的事件處理程序可以包含要執(zhí)行的具體動(dòng)作,也可以調(diào)用在頁(yè)面其他地方定義的腳本,例:

          HTML 事件處理程序--調(diào)用頁(yè)面腳本

          上面代碼指定事件處理程序具有一些獨(dú)到之處。首先,會(huì)創(chuàng)建一個(gè)封裝著元素屬性值的函數(shù)。這個(gè)函數(shù)中有一個(gè)局部變量 event,通過(guò)這個(gè) event 變量,可以直接訪問(wèn)事件對(duì)象,你不用自己定義它,也不用從函數(shù)的參數(shù)列表中讀取。在這個(gè)函數(shù)內(nèi)部,this 值等于事件的目標(biāo)元素。

          不過(guò),在 HTML 中指定事件處理程序有兩個(gè)缺點(diǎn)。首先,存在一個(gè)時(shí)差問(wèn)題,用戶可能在 HTML 元素一出現(xiàn)在頁(yè)面上就觸發(fā)了相應(yīng)的事件,但當(dāng)時(shí)的事件處理程序有可能尚不具備執(zhí)行條件。前面的例子中,假如 showMessage() 函數(shù)是在按鈕下方、頁(yè)面的最底部定義的。如果用戶在頁(yè)面解析 showMessage() 函數(shù)之前就單擊了按鈕,就會(huì)出現(xiàn)錯(cuò)誤。因此,很多 HTML 事件處理程序都會(huì)被封裝在一個(gè) try-catch 塊中。其次,這樣擴(kuò)展事件處理程序的作用域鏈在不同瀏覽器中會(huì)導(dǎo)致不同結(jié)果。不同 JavaScript 引擎遵循的標(biāo)識(shí)符解析規(guī)則存在差異,很可能會(huì)在訪問(wèn)非限定對(duì)象成員時(shí)出錯(cuò)。

          <script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

          一、主要學(xué)習(xí)你內(nèi)容:

          1、常量與變量

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

          3、運(yùn)算符

          4、表達(dá)式與語(yǔ)句

          5、類型轉(zhuǎn)換

          6、轉(zhuǎn)義字符

          7、注釋

          二、常量與變量

          2.1變量

          變量指的是一個(gè)可以改變的量。

          命名規(guī)則:

          1、變量由字母、下劃線、$或數(shù)字組成,并且第一個(gè)字母必須是“字母、下劃線或$”

          2、變量不能是系統(tǒng)關(guān)鍵字和保留字。

          3、變量名一定要區(qū)分大小寫

          變量的使用

          1、變量聲明

          2、變量賦值

          語(yǔ)法:

          var 變量名=值;   //所有JavaScript的變量都是由var聲明。
          var 變量1=值,變量2=值,變量3=值   //可以聲明多個(gè)變量名,變量名直接用英文 (,)隔開

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=10;	
          			document.write(a);
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          2.2常量

          常量指不能改變的量,一般定義常量的時(shí)候,常量名全部大寫,這樣一看就知道是常量了。

          如:

          var ABC=1

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

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

          (1)數(shù)字: 1 、 -1、2.54等

          (2)字符串: "字符內(nèi)容"

          注:可以是單引號(hào),也可以是雙引號(hào),或者單引號(hào)嵌套雙引號(hào),或雙引號(hào)嵌套單引號(hào),但不能同時(shí)出現(xiàn)單引號(hào)嵌套單引號(hào),雙引號(hào)嵌套雙引號(hào),因?yàn)镴S判斷不處理哪兩個(gè)是一對(duì)的。如果數(shù)字加上了的單引號(hào),那么也變成了字符串

          (3)布爾值:true 和false

          用在選擇結(jié)構(gòu)上居多。

          (4)未定義值

          如果一個(gè)變量雖然用var聲明了,但是滅有賦值,此時(shí)改變量就是“未定義值”用undefined表示

          (5)空值null

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=30,b=20;
          			if(a<b)
          			{
          				document.write('a小于b');
          			}
          			else
          			{
          				document.write('a大于b')
          			}
          			var d;
          			document.write(d);
          				
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          四、運(yùn)算符

          + 加 -減 *乘 /除 %求余 ++自增 --自減

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=3,b=5;
          			var c=a*b;
          			document.write(c);
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          五、賦值運(yùn)算符

          =等于 += 加等于 -=等于 *= /等于

          舉例:var a+=b 等價(jià)于 var a=a+b;

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=3,b=5;
          			 a+=b;
          			document.write(a);
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          六、比較運(yùn)算符

          用于將運(yùn)算符兩邊的值或者表達(dá)式進(jìn)行比較,如果結(jié)果是對(duì)的,返回的是true,如果結(jié)果是錯(cuò)的,返回的是false。

          > 大于 < 小于 >=大于等于 <=小于等于 ==等于 !=不等于

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=3,b=4;
          			if(a==b)
          			{
          				document.write('a和b的值相等');
          			}
          			else
          			
          				document.write('a和b的值不等');
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          七、邏輯運(yùn)算符

          && "與"運(yùn)算 || "或"運(yùn)算 !"非"運(yùn)算

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          			var a=3,b=4,c=4;
          			if(a>b||b<c)
          			{
          				document.write('結(jié)果為真');
          			}
          			else
          			
          				document.write('結(jié)果為假');
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          七、條件運(yùn)算符也叫三目運(yùn)算符

          語(yǔ)法:

          var  a=條件? 表達(dá)式1:表達(dá)式2;

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          		     var result=(2>3)?"表達(dá)式1執(zhí)行":"表達(dá)式2執(zhí)行";
          		     document.write(result);
          		</script>
          	</head>
          	<body>		
          		
          	</body>
          </html>

          說(shuō)明:

          當(dāng)條件為true時(shí),我們選擇的是表達(dá)式1,當(dāng)條件為false時(shí),我們選擇的是表達(dá)式2.

          八、表達(dá)式和語(yǔ)句

          舉例: var a=3+4;

          說(shuō)明:3和4是操作數(shù),而+是操作符,3+4是表達(dá)式,整體的var a=3+4;這個(gè)叫語(yǔ)句

          我們只需要記住,一個(gè)分號(hào)一個(gè)語(yǔ)句,而表達(dá)式就是一句話的一部分。

          九、類型轉(zhuǎn)換

          指的是一種數(shù)據(jù)類型,轉(zhuǎn)換成另外一種數(shù)據(jù)類型。

          轉(zhuǎn)換類型有兩種:

          1、隱式類型轉(zhuǎn)換:JS自動(dòng)進(jìn)行類型轉(zhuǎn)換

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          		   var a="100";
          		   var b=100;
          		   var result=a+b;
          		   document.write(result);
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          結(jié)果:是100100而不是200,這種一個(gè)數(shù)字和一個(gè)字符串相加,JS會(huì)自動(dòng)將數(shù)字轉(zhuǎn)換成字符串然后在相加,所以得到的是100100,這種自動(dòng)進(jìn)行類型轉(zhuǎn)換的叫做隱式類型轉(zhuǎn)換,

          2、顯示類型轉(zhuǎn)換:手動(dòng)用代碼強(qiáng)制進(jìn)行類型轉(zhuǎn)換。

          9.1字符串轉(zhuǎn)換為數(shù)字

          1)Number() 提取字符串中純數(shù)字用

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          		 document.write("Number('222'):"+Number("222")+"<br/>");
          		 document.write("Number('222.123'):"+Number("222.123")+"<br/>");
          		 document.write("Number('fff222'):"+Number("fff222")+"<br/>");
          		 document.write("Number('222fff'):"+Number("222ff")+"<br/>");		 
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          結(jié)果:


          說(shuō)明,Number只能轉(zhuǎn)換純數(shù)字的,帶字母的,顯示NAN,是Not a Number非數(shù)字意思。

          2)parselnt()提取首字母為數(shù)字的整數(shù)部分

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          		 document.write("parseInt('222'):"+parseInt("222")+"<br/>");
          		 document.write("parseInt('222.123'):"+parseInt("222.123")+"<br/>");
          		 document.write("parseInt('fff222'):"+parseInt("fff222")+"<br/>");
          		 document.write("parseInt('222fff'):"+parseInt("222ff")+"<br/>");		 
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          結(jié)果:



          說(shuō)明:parselnt()是從左到右判斷,如果第一個(gè)字符是數(shù)字,則繼續(xù)判斷,直到出現(xiàn)非數(shù)字為止,而第一個(gè)字符是非數(shù)字,則直接返回Nan

          3)parseFloat()提取首字母為數(shù)字的整數(shù)和小數(shù)部分

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          		 document.write("parseFloat('222'):"+parseFloat("222")+"<br/>");
          		 document.write("parseFloat('222.123'):"+parseFloat("222.123")+"<br/>");
          		 document.write("parseFloat('fff222.111'):"+parseFloat("fff222.111")+"<br/>");
          		 document.write("parseFloat('-222.111fff'):"+parseFloat("-222.111ff")+"<br/>");		 
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          結(jié)果:


          說(shuō)明:同parseint,只不過(guò)這個(gè)帶小數(shù)為

          9.2數(shù)字轉(zhuǎn)換為字符串

          1)與空字符串相加

          2)toString()

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          	var a=100+"";
          	var b=100;
          	var result=a+b;
          	var result1=a.toString()+100;
          	document.write(result+"<br/>");
          	document.write(result1);
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          結(jié)果;


          說(shuō)明:實(shí)際應(yīng)用中很少,更多使用隱式型轉(zhuǎn)換的方式

          十、轉(zhuǎn)義字符

          在頁(yè)面中我們想顯示特殊的字符,比方說(shuō)雙引號(hào)。那么就要用到轉(zhuǎn)義字符。

          常見的轉(zhuǎn)義字符

          \' 英文單引號(hào)

          \'' 英文雙引號(hào)

          \n 換行符

          換行符使用的兩種情況。

          1.如果是在document.write()中換行,則應(yīng)該用:<br/>

          2.如果是在alert()中換行,則應(yīng)該用:\n

          舉例:

          <!DOCTYPE html>
          <html>
          	<head>
          		<meta charset="utf-8" />
          		<title></title>
          		<script>
          	document.write("細(xì)節(jié)<br/>\"決定\"<br/>成敗");
          	alert("細(xì)節(jié)\n\"決定\"\n成敗")
          		</script>
          	</head>
          	<body>				
          	</body>
          </html>

          十一、注釋

          1.單行注釋

          語(yǔ)法:

          //單行注釋

          2.多行注釋

          當(dāng)注釋的內(nèi)容比較多,用一行表達(dá)不出來(lái)時(shí),我們可以使用多行注釋的方式。

          語(yǔ)法:

          /* 多行注釋 */

          .1.字符串

          C語(yǔ)言的字符串是一種組合類型,它的結(jié)構(gòu)類似列表,C語(yǔ)言規(guī)定字符串要由數(shù)值0結(jié)束。常見的字符串由char構(gòu)成,也有unsigned char與其它類型構(gòu)成的字符串。

          通過(guò)之前的學(xué)習(xí)我們知道,字符串常量以英文符號(hào)雙引號(hào)“"”作為開始結(jié)束標(biāo)志。那么就會(huì)存在一個(gè)問(wèn)題,如果字符串的長(zhǎng)度太長(zhǎng)怎么辦?C語(yǔ)言規(guī)定反斜杠“\”作為代碼的續(xù)行符,在每行代碼的末尾,代表下面的一行代碼緊接在本行之后,相當(dāng)于是同一行。

          除此之外,還可以用雙引號(hào)來(lái)處理續(xù)行,可以對(duì)比一下差別。

          后者的排版效果明顯要優(yōu)于前者。

          第三個(gè)例子中,下面左邊的那段空白字符也會(huì)被當(dāng)作字符串的一部分,這樣寫是不對(duì)的。

          這兩種方式都支持多行代碼的續(xù)行。

          4.2.編碼風(fēng)格

          既然提到了代碼的排版編輯,那就順便討論一下編碼風(fēng)格。

          一些比較嚴(yán)謹(jǐn)?shù)膱F(tuán)隊(duì)會(huì)專門制作編碼風(fēng)格約定,保證所有成員產(chǎn)出風(fēng)格一致的代碼。

          我們的示例代碼都做了縮進(jìn)處理,這樣做的好處是突出代碼的層次感,比較容易看出邏輯關(guān)系。一般語(yǔ)句塊要做縮進(jìn)處理,下一層的代碼向右縮進(jìn)4個(gè)空格的位置,縮進(jìn)位置可以在編輯工具里設(shè)置。

          除此之外,標(biāo)識(shí)符的命名規(guī)范是編碼風(fēng)格的重點(diǎn)。命名的原則之一是顧名思義,名字不能太短。但也有例外,C語(yǔ)言有個(gè)不成文規(guī)定,整型的循環(huán)變量一般命名為i、j、k等。一般如果變量只是作用于小范圍之內(nèi),不一定要嚴(yán)格遵守,但是如果變量跨越成百上千行還需要引用,再采用i、j、k這樣的變量名就不合適了。

          之前還沒(méi)提到注釋這方面,這里就順便介紹一個(gè)有關(guān)代碼的注釋。C語(yǔ)言的代碼注釋有兩種格式,一種是多行注釋(注釋塊,以符號(hào)“/*”開始,符號(hào)“*/”結(jié)束),一種是單行注釋(在一行代碼之后以兩個(gè)正斜杠“//”開始注釋)。

          注釋的主要作用是幫助理解代碼的可讀性,讓代碼閱讀者更容易理解作者編寫代碼的思路和意圖。

          C語(yǔ)言的語(yǔ)句塊有兩種風(fēng)格。

          一般來(lái)說(shuō),程序員比較認(rèn)可第二種風(fēng)格,也更普遍一些。第一種風(fēng)格主要是排版更加緊湊一點(diǎn),在文章里面展示更合適一些。

          4.3.字符型

          單字節(jié)字符串里面,以ASCII字符最為常用。我們知道char類型可表示-128~127區(qū)間的整數(shù),其中ASCII字符以0~127區(qū)間為主,里面包括52個(gè)大小寫英文字母、10個(gè)阿拉伯?dāng)?shù)字和各種標(biāo)點(diǎn)符號(hào),此外還有若干不可見字符。

          反斜杠“\”可以作為轉(zhuǎn)義字符,用來(lái)表示不可見字符和其它字符。不可見字符里面比較常用的有空白符、制表符'\t'、回車符'\r'與換行符'\n',由于反斜杠的作用,所以用兩個(gè)反斜杠'\'表示反斜杠本身。其中回車符是指光標(biāo)回到本行的行首,換行是指光標(biāo)移到下一行,但橫向位置不變。但是現(xiàn)在一般沒(méi)分這么仔細(xì),一般地微軟公司軟件常用回車符加換行符來(lái)另起一個(gè)新行,其它系統(tǒng)就只用一個(gè)換行符起新行。

          之前的printf輸出字符串,多數(shù)都帶有換行符,這樣在輸出一行之后,光標(biāo)就移動(dòng)到下一行。有時(shí)需要在同一行連續(xù)輸出字符,就不能加換行符。scanf輸入格式盡量不要用這些字符。

          ASCII字符有很多應(yīng)用,比如現(xiàn)在常見的html與json,熟悉這些字符可以提高工作效率。

          4.4.格式串

          前面示例代碼中的主要是printf/scanf的格式串,格式串的用法很多樣,不容易一下子掌握,要靠日常積累。

          目前常用的有字符'%c'、整數(shù)'%d'、浮點(diǎn)數(shù)'%f'與雙精度'%lf',還有字符串'%s'。如果要輸出百分號(hào)'%'怎么辦?對(duì)了,是兩個(gè)百分號(hào)'%%'。

          輸出格式串還可以指定寬度,比如'%2d',如果整數(shù)超過(guò)2位數(shù)字,就按照原本的長(zhǎng)度完整顯示出來(lái)。浮點(diǎn)數(shù)可以指定有效數(shù)字與小數(shù)位數(shù),比如'%8.2f'。

          輸出格式串還可以指定填充字符,比如'%02d',前面用阿拉伯?dāng)?shù)字0來(lái)填充,還可以用'%.6d'格式。

          編譯代碼,運(yùn)行程序。

          輸入格式串還可以跳過(guò)一個(gè)數(shù)值,比如'%*d',在輸入時(shí)候遇到一個(gè)整數(shù),舍去它的值,如果預(yù)期的整數(shù)沒(méi)出現(xiàn),函數(shù)返回相應(yīng)的信息。

          4.5.返回值

          一般的教程中,很少會(huì)提到printf/scanf的返回值,但其實(shí)它們的返回值非常重要。其中,printf的返回值會(huì)告訴我們輸出了多少個(gè)字符,而scanf的返回值會(huì)告訴我們總共讀取到多少個(gè)變量值。

          在“cex006.c”文件中輸入以下代碼并保存。

          在這個(gè)程序中,我們先把重置3個(gè)變量,以便觀察之后的輸入是否生效。輸入變量之后將顯示scanf的返回值,接著輸出變量的值。注意對(duì)比第9、11行代碼,由于后者忽略了中間一個(gè)字符,因此參數(shù)里面就少了ch變量。

          編譯代碼,運(yùn)行程序。

          第一段輸入,顯示讀取到3個(gè)變量,得到的數(shù)值也跟初始值不同,說(shuō)明輸入時(shí)正常的。第二段的輸入由于限定了'%*c'格式,因此中間那個(gè)字符被忽略了,最后得到2個(gè)變量。

          再次運(yùn)行程序,這次輸入不合理的數(shù)值,檢查運(yùn)行結(jié)果有什么不一樣。

          這次輸入的數(shù)值,在后面的部分出現(xiàn)不是數(shù)字的字符,由于限定了'%d'格式,因此只讀到中間的字符部分。之后的輸出也可以看出來(lái),變量inum2數(shù)值沒(méi)有還是之前重置的0。

          對(duì)于上一節(jié)的四則運(yùn)算小程序,我們用新掌握到的方法進(jìn)一步完善一下。

          在“cex007.c”文件中輸入以下代碼并保存。

          在第8行,對(duì)scanf的返回值做出判斷,如果不足3個(gè),程序提前退出。后面部分不做調(diào)整,下面列出完整的代碼。

          完善之后的程序能夠檢測(cè)輸入的數(shù)值是否正常,對(duì)于不正常的數(shù)值不再繼續(xù)往下運(yùn)行,從而避免得出錯(cuò)誤的結(jié)果。日常我們寫程序也要養(yǎng)成這樣的習(xí)慣,要對(duì)一些可能出錯(cuò)的情況做出預(yù)判,避免一些不必要的BUG。

          本節(jié)的內(nèi)容一些教程中都沒(méi)有提供,這些知識(shí)點(diǎn)在實(shí)踐中很有用。初學(xué)者在掌握C語(yǔ)言基本語(yǔ)法之后,要留意積累常用的知識(shí)點(diǎn)。后文也會(huì)根據(jù)進(jìn)度需要適當(dāng)提供一些編程技巧與實(shí)踐經(jīng)驗(yàn),相信能達(dá)到很好的效果。


          主站蜘蛛池模板: 精品国产乱子伦一区二区三区| 精品国产一区二区三区无码| 国产亚洲一区二区手机在线观看| 麻豆精品久久久一区二区| 国产品无码一区二区三区在线| 香蕉一区二区三区观| 在线观看精品一区| 日日摸夜夜添一区| 亚洲福利电影一区二区?| 亚洲日韩精品无码一区二区三区| 精品视频一区二区三区在线播放| 午夜性色一区二区三区不卡视频 | 日韩精品无码免费一区二区三区| asmr国产一区在线| 日韩精品一区二三区中文| 日韩视频免费一区二区三区| 国产一区二区三区乱码在线观看| 韩国福利影视一区二区三区| 日韩精品中文字幕无码一区| 无码aⅴ精品一区二区三区浪潮| 国产自产在线视频一区| 国产在线一区二区综合免费视频| 中文字幕精品一区二区精品| 国产精品亚洲一区二区三区在线| 亚洲一区二区三区影院| 久久久无码精品国产一区 | 亚洲成AV人片一区二区密柚| 中文字幕精品无码一区二区三区| 国产日韩AV免费无码一区二区| 一区二区三区无码视频免费福利| 日韩精品人妻一区二区中文八零| 国产精华液一区二区区别大吗| 激情一区二区三区| 国产精品香蕉一区二区三区| 无码一区二区三区在线| 国产成人高清精品一区二区三区| 国精品无码一区二区三区在线| 91一区二区在线观看精品| 国产精品久久久久久一区二区三区| 国产大秀视频一区二区三区| 国模大尺度视频一区二区|