这两个真的超级简单,看代码: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及以后的内容