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 成人18视频在线观看,国产720刺激i在线视频,亚洲欧美在线观看播放

          整合營銷服務(wù)商

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

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

          JavaScript中的隱藏?cái)?shù)據(jù)類型轉(zhuǎn)換

          avascript是一門弱類型語言,意思就是語言中的數(shù)據(jù)類型,很輕易就能被改變

          比如定義一個(gè)變量值為數(shù)字,然后重新給他賦值為字符串,類型就由數(shù)字類型轉(zhuǎn)為了字符串類型。

          類型的轉(zhuǎn)換,可以有很多種方法,例如在js中常用的parseInttoString、等方法,這些方法都是強(qiáng)制將某個(gè)類型轉(zhuǎn)為指定的類型。

          除了這些方法,還有一些特殊應(yīng)用場景,會(huì)將類型悄悄的進(jìn)行轉(zhuǎn)換,如下幾種情況:

          1、數(shù)學(xué)運(yùn)算

          如果一個(gè)數(shù)字跟另一個(gè)其他類型的數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算時(shí),另一個(gè)數(shù)據(jù)會(huì)被轉(zhuǎn)為數(shù)字類型進(jìn)行運(yùn)算,例:

          var a = 1;
          var b = true;
          var c = a + b;
          console.log(c); // 2 - 此時(shí)的布爾類型true被轉(zhuǎn)為了數(shù)字1,進(jìn)行了數(shù)學(xué)加法運(yùn)算
          
          var a = 3;
          var b = undefined;
          var c = a + b;
          console.log(c); // NaN - 此時(shí)的b被轉(zhuǎn)為了數(shù)字類型進(jìn)行了數(shù)學(xué)運(yùn)算
          


          注意:加法比較特殊,因?yàn)榉?/span>+,除了可以進(jìn)行數(shù)學(xué)加法以外,還可以進(jìn)行字符串的拼接。例:

          var a = 2;
          var b = [1,2,3]
          var c = a / b;
          console.log(c); // NaN - 此時(shí)的b被轉(zhuǎn)為了數(shù)字類型
          ?
          var a = 2;
          var b = [1,2,3]
          var c = a + b;
          console.log(c); // 21,2,3 - 此時(shí)的a和b不再是加法運(yùn)算,而是進(jìn)行了拼接
          

          2、字符串拼接

          當(dāng)+符號左右兩邊有一個(gè)是字符串的時(shí)候,另一個(gè)也會(huì)轉(zhuǎn)為字符串進(jìn)行拼接,例:

          var a = 2;
          var b = '3';
          var c = a + b;
          console.log(c); // 23 - 此時(shí)的a被轉(zhuǎn)為了字符串,進(jìn)行了拼接
          

          3、比較運(yùn)算

          當(dāng)比較運(yùn)算符(除相等比較和全等比較)左右兩邊有一個(gè)是數(shù)字的時(shí)候,另一個(gè)也會(huì)轉(zhuǎn)為數(shù)字進(jìn)行比較大小,例:

          var a = 2;
          var b = '10';
          console.log(a>b) // false - 說明b被轉(zhuǎn)為數(shù)字10進(jìn)行了大小比較
          

          4、判斷條件


          所有被放在if分支語句的小括號中的代碼會(huì)被轉(zhuǎn)為布爾類型,例:

          var a = 2;
          if(a){
           console.log('a變量是true'); // a變量是true - 說明變量a的2被轉(zhuǎn)為了布爾值true
          }else{
           console.log('a變量是false');
          }
          ?
          var b;
          if(b){
           console.log('b變量是true');
          }else{
           console.log('b變量是false'); // b變量是false - 說明b變量undefined被轉(zhuǎn)為了布爾值false
          }

          5、date輸出


          我們知道,new 一個(gè)構(gòu)造函數(shù)會(huì)得到一個(gè)對象,但是
          new Date()之后,輸出的卻是一個(gè)字符串,例:

          var d = new Date();
          console.log(d); // Mon Mar 15 2021 17:50:25 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
          // 這說明,new出來的對象d,在輸出的時(shí)候被悄悄的轉(zhuǎn)換成了字符串輸出了
          

          6、對象數(shù)組輸出在頁面


          當(dāng)在控制臺輸出一個(gè)數(shù)組或?qū)ο蟮臅r(shí)候,是本省的類型顯示,例:

          var arr = [1,2,3,4];
          var obj = {name:"張三",age:12}
          console.log(arr);
          console.log(obj);


          輸出效果如下圖:


          但是如果將數(shù)組或?qū)ο笤谖谋局休敵龅脑挘瑪?shù)組和對象會(huì)默認(rèn)調(diào)用自己原型中的toString方法,以字符串形式顯示在文本中,例:

          var arr = [1,2,3,4];
          var obj = {name:"張三",age:12}
          document.write(arr)
          document.write(obj)


          文本中顯示如下:


          數(shù)組和對象其實(shí)已經(jīng)調(diào)用了他們原型上的toString方法,被轉(zhuǎn)為了字符串,例:

          var arr = [1,2,3,4]; 
          var obj = {name:"張三",age:12} 
          console.log(arr.toString()); 
          console.log(obj.toString());


          控制臺顯示如下圖:

          隱形轉(zhuǎn)換在多處出現(xiàn),我們在編程的時(shí)候,需要謹(jǐn)慎小心,熟悉后可以對之進(jìn)行利用,例如判斷一個(gè)數(shù)據(jù)或?qū)ο笾械闹凳欠翊嬖跁r(shí),可以利用分支語句的條件中的隱形轉(zhuǎn)換來搞定。

          .form 標(biāo)簽

          1)作用

          <form></form>定義表單的開始位置和結(jié)束位置,表單提交時(shí)的內(nèi)容就是<form>表單中的內(nèi)容

          2)基本格式

          <form action="服務(wù)器端地址(接受表單內(nèi)容的地址)" name="表單名稱" method="post|get">...</form>

          3)常用屬性

          1.name

          表單名稱

          2.method

          傳送數(shù)據(jù)的方式,分為post和get兩種方式:

          1. get方式:get方式提交時(shí),會(huì)將表單的內(nèi)容附加在URL地址的后面,所以限制了提交的內(nèi)容的長度,不超過8192個(gè)字符,且不具備保密性。
          2. post方式:post方式提交時(shí),將表單中的數(shù)據(jù)一并包含在表單主體中,一起傳送到服務(wù)器中處理,沒有數(shù)據(jù)大小限制。
          3.action

          表單數(shù)據(jù)的處理程序的URL地址,如果為空則使用當(dāng)前文檔的URL地址,如果表單中不需要使用action屬性也要指定其屬性為”no“。

          4.enctype

          設(shè)置表單的資料的編碼方式。屬性值:

          1. application/x-www-form-urlencoded:在發(fā)送前編碼所有字符(默認(rèn))
          2. multipart/form-data:不對字符編碼。在使用包含文件上傳控件的表單時(shí),必須使用該值。
          3. text/plain:空格轉(zhuǎn)換為 "+" 加號,但不對特殊字符編碼。
          5.target

          和超鏈接的屬于類似,用來指定目標(biāo)窗口。

          2.input 標(biāo)簽

          1)注意

          input 標(biāo)記沒有結(jié)束標(biāo)記。

          2)基本語法

          <input type="" name="" value="" size="" maxlength="">

          3)屬性

          1.type屬性
          1. text:文本輸入域
          2. password:密碼輸入域
          3. submit:提交按鈕
          4. reset:重置按鈕
          5. button:普通按鈕
          6. radio:單選按鈕,可以使用”checked“屬性來設(shè)置默認(rèn)選中項(xiàng)
          7. checkbox:復(fù)選框,可以使用”checked“屬性來設(shè)置默認(rèn)選中項(xiàng)
          8. hidden:隱藏表單域
          9. file:文件域
          2.name屬性

          定義控件的名稱

          3.value屬性

          初始化值,打開瀏覽器時(shí),文本框中的內(nèi)容

          4.size屬性

          設(shè)置控件的長度

          5.maxlength屬性

          輸入框中最大允許輸入的字符數(shù)

          3.textarea 標(biāo)簽

          1)作用

          使用 textarea 標(biāo)記可以實(shí)現(xiàn)一個(gè)能夠輸入多行文本的區(qū)域。

          2)語法格式

          rows屬性和cols屬性分別用來指定,顯示的行數(shù)和列數(shù),單位是字符個(gè)數(shù);value指定傳送到服務(wù)器上面的值。

          <textarea name="name" rows="value" cols="value" value="value">... ... </textarea>

          4.select 標(biāo)簽

          1)作用

          菜單下拉列表域,生成一個(gè)下拉列表。

          2)option 標(biāo)簽

          作用:

          option 標(biāo)記用來指定列表中的一個(gè)選項(xiàng),需要放在 select 之間。

          值:

          1. value:給選項(xiàng)賦值,指定傳送到服務(wù)器上面的值。
          2. selected:指定默認(rèn)的選項(xiàng)。

          3)語法格式

          <select name="" size="value" multiple>    <option value="value1" selected>選項(xiàng)1</option>    <option value="value2">選項(xiàng)2</option>    <option value="value3">選項(xiàng)3</option>    ... ... ...</select>

          4)屬性

          1. multiple屬性:multiple屬性不用賦值,其作用是,表示用可以多選的下來列表,如果沒有這個(gè)屬性就只能單選。
          2. size屬性:設(shè)置列表的高度。
          3. name屬性:定義這個(gè)列表的名稱。

          5.label 標(biāo)簽

          1)作用

          用于綁定一個(gè)表單元素, 當(dāng)點(diǎn)擊label標(biāo)簽的時(shí)候, 被綁定的表單元素就會(huì)獲得輸入焦點(diǎn)

          2)語法
          <label for="male">Male</label><input type="radio" name="sex" id="male">

          6.舉例

          <form name="form" method="post" action="no" enctype="multipart/form-data">  <label for="male">賬號:</label><input type="text" name="username" value="admin"  id="male"><br>  密碼:<input type="password" name="password" size="50" maxlength="6"><br>  性別:<input type="radio" name="sex" value="男"> 男    <input type="radio" name="sex" value="女" checked="checked"> 女<br>  興趣:<input type="checkbox" name="interest" value="籃球">籃球    <input type="checkbox" name="interest" value="足球" checked="checked">足球    <input type="checkbox" name="interest" value="羽毛球" checked="checked">羽毛球    <input type="hidden" name="hidden"><br>  頭像:<input type="file" name="file"><br>  簡介:    <textarea rows="10" cols="30">        </textarea><br>  城市:    <select name="city" multiple>      <option value="beijing">北京</option>      <option value="shanghai" selected>上海</option>      <option value="nanjing">南京</option>      <option value="guangdong">廣東</option>    </select>  <br>  <input type="submit" value="注冊">  <input type="reset">  <input type="button" value="普通按鈕"></form>

          前幾篇中,我們已經(jīng)學(xué)習(xí)了如何在Python中表示字符串、數(shù)值、邏輯值等字面值數(shù)據(jù)。也學(xué)習(xí)了如何使用變量引用這些數(shù)據(jù)。

          本文開始學(xué)習(xí)如何操作這些數(shù)據(jù)。操作數(shù)據(jù)最常用的方式是使用運(yùn)算符。運(yùn)算符即對數(shù)據(jù)進(jìn)行運(yùn)算的符號,我們在小學(xué)時(shí)學(xué)過的加減乘除就是最簡單的運(yùn)算符。

          運(yùn)算符簡介

          運(yùn)算符的語法規(guī)則包括運(yùn)算符的功能和優(yōu)先級兩個(gè)要點(diǎn)

          Python運(yùn)算符功能根據(jù)操作數(shù)的類型可以分為賦值運(yùn)算符算術(shù)運(yùn)算符邏輯運(yùn)算符比較運(yùn)算符成員運(yùn)算符位運(yùn)算符、身份運(yùn)算符幾類。

          賦值運(yùn)算符

          在編程中,最常用的運(yùn)算符是賦值運(yùn)算符,賦值運(yùn)算符用一個(gè)等于號表示,其使用基本格式如下:

          變量 = 表達(dá)式

          其功能是將表達(dá)式的值賦予變量。

          其中變量一般是字面值和簡單數(shù)據(jù)類型引用變量,也可以是對象的引用變量,還可以是對象的可寫屬性。關(guān)于變量的概念參見Python教程:第8篇 變量。

          其中表達(dá)式是具有返回值的字面量、常量、變量、函數(shù)、語句以及運(yùn)算符等的組合,一個(gè)單獨(dú)的字面量、變量、常量也是表達(dá)式,稱為簡單表達(dá)式,也稱基本表達(dá)式。使用運(yùn)算符連接的表達(dá)式稱為復(fù)雜表達(dá)式。

          下面是一些簡單的賦值示例,它們分別將字符串、數(shù)值、邏輯值賦予變量a,并在賦值后輸出a的值:

          注意,Python的賦值運(yùn)算符沒有返回值。這點(diǎn)與C語言不同。Python的函數(shù)參數(shù)可以使用賦值語句,并不是因?yàn)檫@個(gè)原因。而是用于區(qū)分哪個(gè)參數(shù),參數(shù)的順序可以錯(cuò)亂的。

          如果將賦值表達(dá)式作為返回值賦予另一個(gè)變量,會(huì)產(chǎn)生語法錯(cuò)誤:

          也不能將其作為print函數(shù)的參數(shù)打印輸出:

          另一個(gè)需要注意的是,在Python中,變量的賦值是將對象的引用(指對象在內(nèi)存中的地址,id函數(shù)可以返回它)傳給變量,而不是傳遞值,比如下面的示例,a和b是兩個(gè)變量,b最初的值由a賦值得到,但它們都指向同一個(gè)對象(這里是下面的編程名言字符串),b重新賦值之后,其指向改變了,內(nèi)存地址不再與a相同。

          增量賦值

          從 Python 2.0 開始, 等號可以和另一個(gè)運(yùn)算符(一般是算術(shù)運(yùn)算符)組合在一起, 將計(jì)算結(jié)果重新賦值給左邊的變量。這被稱為增量賦值。 類似下面這樣的語句:

          變量 = 變量 + 表達(dá)式

          現(xiàn)在可以寫成:

          變量 += 表達(dá)式

          增量賦值通過使用賦值運(yùn)算符,將數(shù)學(xué)運(yùn)算隱藏在賦值過程當(dāng)中。你可能在 C、C++、Java、JavaScript代碼中見過以下增量運(yùn)算符:

          += -= *= /= %= **=

          <<= >>= &= ^= |=

          增量賦值相對普通賦值的最主要的好處是可以帶來運(yùn)行效率上的提升:變量僅被修改一次,而普通賦值會(huì)被修改兩次。

          以下是增量賦值的常見應(yīng)用示例:

          賦值運(yùn)算符一般與算術(shù)運(yùn)算符(加減乘除、乘方、整除等)組成增量賦值,也可與位運(yùn)算符組合:

          但不支持比較運(yùn)算符(比較大小的,比如大于等于>=)等運(yùn)算符,下面是示例:

          由于+、*也可用于字符串、列表等操作,所以增量賦值也可適用于字符串等數(shù)據(jù)的賦值:

          從字符串的增量賦值結(jié)果來看,變量原來的值位于增量賦值后的前面,這一點(diǎn)也是需要注意的。

          連續(xù)賦值

          也可以使用下面的格式為多個(gè)變量賦予相同的值:

          變量 = 變量 = 表達(dá)式

          其中“變量 =”可以無限重復(fù)添加,下面是個(gè)示例(a、b、c的值都為表達(dá)式的返回值):

          要注意的是,使用連續(xù)賦值時(shí)不能使用增量賦值,下面第2行第2個(gè)賦值號產(chǎn)生了語法錯(cuò)誤:


          元組賦值

          元組是Python中一種用小括號包圍的數(shù)據(jù)列表表示的基本數(shù)據(jù)類型(以后會(huì)介紹),但在賦值操作中,可以省略兩端的小括號,所以你以后可能會(huì)常看到類似于以下形式的代碼,它可以交換兩個(gè)變量的值:

          變量1,變量2 = 變量2,變量1

          它實(shí)際上是下面元組賦值的縮寫:

          (變量1,變量2) = (變量2,變量1)

          下面是個(gè)應(yīng)用示例:

          這是Python支持的特殊的交換兩個(gè)變量的值的方式,在許多其他編程語言中,你需要定義一個(gè)中間變量,首先將第1個(gè)變量賦值給中間變量,然后將第2個(gè)變量賦值給第1個(gè)變量,最后將中間變量賦值給第2個(gè)變量,才能實(shí)現(xiàn)交換兩個(gè)變量值的目的,下面是Python(也是其他語言都支持的)這種方式的應(yīng)用示例:

          結(jié)語

          關(guān)于運(yùn)算符的內(nèi)容還有很多,歡迎各位讀者多多評論互動(dòng),也可關(guān)注我,下篇教程我將盡快推出。

          注:從2022年4月28日發(fā)布的本篇教程開始,代碼截圖加上了使用了隨機(jī)生成的背景圖。寬度統(tǒng)一為970像素,這是在1080px寬度手機(jī)上顯示的原始寬度,以提高各位讀者的閱讀觀感。語法高亮風(fēng)格采用 Python3.10.4 的 IDLE 顯示的風(fēng)格,由于水平有限,注釋高亮的功能還沒有實(shí)現(xiàn)。

          相關(guān)前文

          在Python中,數(shù)據(jù)如何表示可以參閱:

          「Python教程」第6篇 Python基本語法之字符串

          「Python教程」第7篇 Python基本語法之?dāng)?shù)值與邏輯值


          主站蜘蛛池模板: av一区二区三区人妻少妇| 亚洲视频一区二区三区四区| 亚洲国产精品一区二区久久hs| 69福利视频一区二区| 一区二区三区电影在线观看| 亚洲av乱码一区二区三区按摩| 国产在线精品一区二区中文| 国产一区韩国女主播| 国产一区二区成人| 国产成人精品一区二区三区免费 | 久久无码人妻一区二区三区 | 国产成人一区二区精品非洲| 人妻无码一区二区三区AV| 亚洲综合色自拍一区| 中文字幕久久亚洲一区| 好爽毛片一区二区三区四| 无码毛片一区二区三区中文字幕| 国产精品久久无码一区二区三区网| 97av麻豆蜜桃一区二区| 亚洲一区二区三区乱码在线欧洲| 日韩一区二区在线观看视频| 久久中文字幕一区二区| 久久人妻内射无码一区三区 | 亚洲av无码一区二区三区天堂| 久久人做人爽一区二区三区| 中文字幕亚洲综合精品一区| 亚洲av无码一区二区三区不卡| 国产成人精品视频一区二区不卡| 2014AV天堂无码一区| 久久99国产精一区二区三区| 无码人妻品一区二区三区精99| 精品人无码一区二区三区| 久久久久人妻一区二区三区vr| 国产日本亚洲一区二区三区| 亚洲色精品VR一区区三区| 韩国精品一区二区三区无码视频 | 日本一区二区三区高清| 国产自产V一区二区三区C| 亚洲一区二区三区高清视频| 欧美人妻一区黄a片| 国产成人高清亚洲一区久久|