這兩個真的超級簡單,看代碼:javascript
<script> let a = "https://www.cnblogs.com/Three-Z/"; if(a.startsWith("https:")){ console.log("這是一個加密的網址") if(a.endsWith("Three-Z/")){ console.log("這是老曾博客園安全的網址") } }else{ alert("啥啥也不是") } </script>
哈哈有沒有強行植入推銷的感受,固然endsWith也可用來直接判斷文件類型,這裏懂怎麼用就行哈哈,返回布爾值那是必然。
html
<script> let a = 12; alert(`a${a}bc`) </script>
<script> function User(name,pass){ this.name = name; this.pass = pass; } User.prototype.showName = function(){ alert(this.name); } User.prototype.showPass = function(){ alert(this.pass) } var user = new User("DDDZ","123456") user.showName(); user.showPass(); </script>
沒問題這樣固然出的來,可是呢?User在這裏是一個構造函數吧?是一個類吧?對都沒問題可是你要給Java啊C++啊的兄弟說,誒咱們構造函數和類是一個,哇老哥絕對是難以言表的眼神看着你哈哈哈。不過期代這麼久咱們也要像java一哥靠齊,如今有了class和constructor(構造器),來改代碼:java
<script> class User{ constructor(name,pass){ this.name = name; this.pass = pass; } showName(){ alert(this.name) } showPass(){ alert(this.pass) } } var user = new User("DDDZ","123456") user.showName(); user.showPass(); </script>
這樣的優勢是啥?構造和類分開了、方法也終於不用外掛了。git
先上硬菜:es6
<script> class User{ constructor(name,pass){ this.name = name; this.pass = pass; } showName(){ alert(this.name) } showPass(){ alert(this.pass) } } class VipUser extends User{ constructor(name,pass,level){ super(name,pass) this.level = level } showLevel(){ alert(this.level) } } var user = new VipUser("DDDZ","123456",3) user.showName(); user.showPass(); user.showLevel(); </script>
是否是簡單清晰明瞭,一目瞭然。
這裏的User就是VipUser的爸爸,兒子繼承他的name和pass,說奇怪一點就像是繼承遺產的感受,固然除了繼承的,這裏的showLevel就是兒子本身的東西,要什麼就用什麼就好了。github
<script> // 1 let json = {name:"DDDZ",value:"博客園地址"}; let url = "https://www.cnblogs.com/Three-Z?data="+json alert(url) //2 let json = {name:"DDDZ",value:"博客園地址"}; let url = "https://www.cnblogs.com/Three-Z?data="+JSON.stringify(json) alert(url) //3 let json = {name:"DDDZ",value:"博客園地址"}; let url = "https://www.cnblogs.com/Three-Z?data="+encodeURIComponent(JSON.stringify(json)) alert(url) </script>
三塊代碼你依次執行,每次只跑一塊,我這裏演示,因此把仨湊一塊兒的,這時你發現2中多了個stringify,這個是什麼呢?其實就是字符串化也就是常說的串行化,這裏就實現了json=>string,如圖你能夠打印看看,至於第三步encodeURIComponent()是什麼來來來,挪挪地兒,encodeURIComponent的詳細使用。讓我放出個人三段代碼一次的執行結果你看看和你預期的同樣不同~
好了stringify到這裏就說的差很少了,下面咱們來講說json的解析parse。web
<script> let str = "{a:12, b:5, c:'abc'}"; let json = JSON.parse(str) console.log((json)) </script>
你能把打印結果打印出來?我就把es6吃了哈哈,固然報錯。
咱們json的標準寫法兩句話:1.只能使用雙引號。2.全部名字都必須用引號包起來,好比:json
{a:'abc', b:5} × {「a」:"abc", "b":5} √
因此咱們來改代碼數組
<script> let str = '{"a":12, "b":5, "c":"abc"}'; let json = JSON.parse(str) console.log((json)) </script>
固然也就成功的實現了string => json的轉變
安全
<script> let a = 12; let b = 5; let json = {a:a, b:b}; console.log(json) </script>
可是如今咱們說簡寫,這裏注意啦,偷懶來了,json裏面名字和值同樣的時候你能夠只寫一個,這一行代碼直接變成:
let json = {a, b};
<script> //簡寫前 let json = { a:12, show:function(){ alert(this.a); } } json.show(); //簡寫後 let json = { a:12, show(){ //和es6面向對象方法是否是同樣的 alert(this.a); } } json.show(); </script>
這樣就完事兒~
———————————————————————分割線——————
都看到這裏了,只能說明一點,咱倆真的真的真的頗有緣分啊!不點個贊再走嘛,😊😀,順手加個關注嘛,偷偷收藏我博文的小可愛我後臺看獲得的嘛,點個贊給老曾支持支持,不出意外接下來我一直都在哈哈哈,學知識寫博客不着急,基礎打好,項目直接上手6到飛起。
下節說Promise,gengenerator及以後的內容