一级毛片视频在线观看-一级毛片视频免费-一级毛片视频播放-一级毛片看真人在线视频-国产高清在线精品一区a-国产高清在线精品一区二区

微信小程序開發(fā)之不能使用eval函數(shù)的問題

作者:網(wǎng)站建設(shè)公司 來源:微信小程序聯(lián)盟日期:2020-11-11 瀏覽:

網(wǎng)站建設(shè) - 建站教程 - 微信小程序 - 微信小程序開發(fā)之不能使用eval函數(shù)的問題

  JavaScript中的eval函數(shù)是頗受開發(fā)者爭議的問題之一,問題主要在于其可能導(dǎo)致的不安全性。有關(guān)此方面問題,在此不再贅述,讀者可能很容易地瀏覽到許多介紹性文章。

 

 

 

  一 eval函數(shù)問題 
JavaScript中的eval函數(shù)是頗受開發(fā)者爭議的問題之一,問題主要在于其可能導(dǎo)致的不安全性。有關(guān)此方面問題,在此不再贅述,讀者可能很容易地瀏覽到許多介紹性文章。 
但是,eval函數(shù)的優(yōu)點也是很明顯的。例如,使用JS編寫一個計算器程序,在遇到"2+1-3*5"這樣的字符串時,使用eval就可以很容易地計算出,類似如:

 

 

  二 微信小程序練手遇到問題

  (1)微信小程序環(huán)境不支持eval函數(shù)

  在學(xué)習(xí)微信小程序開發(fā)過程中,想使用計算器這樣的工具編寫練練手——主要是想熟悉一下其布局控制技巧。于是,遇到了上面的問題。很自然,想到使用eval函數(shù),因為編程中正是遇到類似于上面的大量字符串——其中包含一個數(shù)字表達式。但是,遇到如下錯誤:

 

  (2)new Function()方案也不行!

  初步網(wǎng)絡(luò)探索后,只好想使用eval()函數(shù)的替代方法,類似于如下:

 

  結(jié)果再次遇到失敗提示,類似于如下:

 

  三 無奈之舉

  在搜索微信小程序少有的幾個論壇并全面網(wǎng)絡(luò)搜索后,只能借助于最原始的辦法實現(xiàn)看似簡單的計算器中程序的開發(fā)了。歸納來看,方法主要有三種,分別是 
轉(zhuǎn)換函數(shù)、強制類型轉(zhuǎn)換和利用js變量弱類型轉(zhuǎn)換。

  (1)轉(zhuǎn)換函數(shù) 
js提供了parseInt()和parseFloat()兩個轉(zhuǎn)換函數(shù)。前者把值轉(zhuǎn)換成整數(shù),后者把值轉(zhuǎn)換成浮點數(shù)。只有對String類型調(diào)用這些方法,這兩個函數(shù)才能正確運行;對其他類型返回的都是NaN(Not a Number)。 
一些示例如下:

 

 

  parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字符串轉(zhuǎn)換成整數(shù)。基是由parseInt()方法的第二個參數(shù)指定的,示例如下:

  復(fù)制代碼 代碼如下:

 

  如果十進制數(shù)包含前導(dǎo)0,那么最好采用基數(shù)10,這樣才不會意外地得到八進制的值。例如:

  代碼如下:

 

  parseFloat()方法與parseInt()方法的處理方式相似。 
使用parseFloat()方法的另一不同之處在于,字符串必須以十進制形式表示浮點數(shù),parseFloat()沒有基模式。 
下面是使用parseFloat()方法的示例:

  代碼如下:

 

  (2)強制類型轉(zhuǎn)換 
還可使用強制類型轉(zhuǎn)換(type casting)處理轉(zhuǎn)換值的類型。使用強制類型轉(zhuǎn)換可以訪問特定的值,即使它是另一種類型的。

  ECMAScript中可用的3種強制類型轉(zhuǎn)換如下:

 

  用這三個函數(shù)之一轉(zhuǎn)換值,將創(chuàng)建一個新值,存放由原始值直接轉(zhuǎn)換成的值。這會造成意想不到的后果。 
當(dāng)要轉(zhuǎn)換的值是至少有一個字符的字符串、非0數(shù)字或?qū)ο螅ㄏ乱还?jié)將討論這一點)時,Boolean()函數(shù)將返回true。如果該值是空字符串、數(shù)字0、undefined或null,它將返回false。 
可以用下面的代碼段測試Boolean型的強制類型轉(zhuǎn)換。

  代碼如下:

 

  Number()的強制類型轉(zhuǎn)換與parseInt()和parseFloat()方法的處理方式相似,只是它轉(zhuǎn)換的是整個值,而不是部分值。示例如下:

  代碼如下:

 

  (3)利用js變量弱類型轉(zhuǎn)換 
舉個小例子,一看,就會明白了。

  代碼如下:

 

  上例利用了js的弱類型的特點,只進行了算術(shù)運算,實現(xiàn)了字符串到數(shù)字的類型轉(zhuǎn)換。屬于最簡單的方法了。


企業(yè)網(wǎng)站建設(shè)一條龍
找零度飛易網(wǎng)絡(luò)公司-fslingdu所做php網(wǎng)站建設(shè)方案網(wǎng)站設(shè)計網(wǎng)站制作北京上海深圳龍崗衢州蘭州常州東營南通濟寧桂林淮安煙臺長春無錫天津昆山蘇州合肥洛陽昆明天津唐山泉州惠州萬州新鄉(xiāng)商丘臺州哈爾濱太原攝影海口隨州學(xué)校商丘廣東湖南廣西江西海南廣州企業(yè)中小企業(yè)武漢南山羅湖福田虎門肇慶汕尾汕頭廣州佛山成都杭州濟南重慶福州西安廈門昆山沈陽青島徐州鄭州南京南寧長沙大連淄博石家莊南昌溫州珠海番禺順德三水高明中山東莞合肥江門嘉興西寧大良容桂倫教勒流陳村均安杏壇龍江樂從北滘祖廟石灣南莊等地區(qū)企業(yè)網(wǎng)站建設(shè)(廣告)公司提供專業(yè)做網(wǎng)站價格規(guī)劃書及營銷型網(wǎng)站制作,網(wǎng)站建設(shè)基礎(chǔ)知識
標(biāo)簽: 微信小程序

微信小程序   微信小程序

網(wǎng)站建設(shè)費用

網(wǎng)站制作電話:137 1543 1176

網(wǎng)站開發(fā)QQ:378780108

E-mailsale@fslingdu.com如何制作網(wǎng)站QQ :378780108

網(wǎng)站建設(shè)服務(wù)

網(wǎng)站建設(shè)公司零度飛易是一家專業(yè)網(wǎng)站設(shè)計,網(wǎng)站制作、seo優(yōu)化,網(wǎng)站推廣,網(wǎng)站建設(shè)的佛山網(wǎng)絡(luò)運營公司。零度飛易在家具網(wǎng)站建設(shè)小家電網(wǎng)站建設(shè)服裝網(wǎng)站建設(shè)電器網(wǎng)站建設(shè)機械網(wǎng)站建設(shè)等行業(yè)的網(wǎng)站設(shè)計、網(wǎng)絡(luò)運營都得到行業(yè)認(rèn)可,在上海深圳北京廣州佛山中山東莞地區(qū)有著良好的口碑品牌的網(wǎng)站建設(shè)公司。我們的使命是打造創(chuàng)新型的網(wǎng)站建設(shè)企業(yè),能輕易地開展“互聯(lián)網(wǎng)+”業(yè)務(wù)、實現(xiàn)“互聯(lián)網(wǎng)+企業(yè)”的企業(yè)愿景。

Hi,Are you ready?

準(zhǔn)備好開始了嗎?
那就與我們?nèi)〉寐?lián)系吧

有一個互聯(lián)網(wǎng)項目想和我們談?wù)剢幔磕梢蕴顚懹疫叺谋砀瘢屛覀兞私饽捻椖啃枨螅@是一個良好的開始,我們將會盡快與你取得聯(lián)系。當(dāng)然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

零度飛易 互聯(lián)網(wǎng)整合營銷

地址:佛山市順德區(qū)大良鳳翔商業(yè)廣場二座670

業(yè)務(wù)QQ:378780108

策劃專線:13715431176

E-mail:sale@fslingdu.com

合作意向表

您需要的服務(wù)

現(xiàn)有網(wǎng)站改版
我需要做微信營銷
建設(shè)全新的企業(yè)網(wǎng)站
要找長期合作公司,需要年度服務(wù)
我需要做購物商城
我需要做系統(tǒng)平臺

您最關(guān)注的地方

對功能要求比較高
對設(shè)計創(chuàng)意要求比較高
需要可以購物支付
搜索引擎排名

價格預(yù)算

1-3萬3-5萬5-8萬8-10萬10萬以上大型項目需要招標(biāo)