00:00
还有最后一个这个知识点啊,我们叫一个什么呢?说一下我们第四我们叫做一个这个。杰森啊,杰森,杰森这个名字很有意思是吧?对杰森是干嘛的呢?对,那我们在说这个杰森之前呢,我们先说这么一个东西哈,在这里边我来这么一个,我要干嘛呢?我要创建一个这个对象,直接挂一个OB接,等于一个这个大块,这不是创建一个对象啊,对象里边我来什么呢?内冒号来一个这个,呃,孙悟空这是一个对象对吧?来大家注意啊,我们说了,咱们在写属性名的时候,我就可以加双引号,也可以不加引号对吧?也可以加引号,也可以不加,那这块我加一个双引号,它错不错呀,诶也是对的啊,也是对的,所以这块你加完了以后呢,我直接来一个cancel.log一个OB接,然后一保存走你诶咱们来运行一下,诶是不是也能出来啊,那你来一个OB接点一个NAME1保存,是不是孙悟空也能出来啊,诶所以注意啊,属性名加不加这个引号呢,对于对象来说都行啊都行,然后呢,我可以接着往下写,可以再来什么呀,逗号来一个这个age冒。
01:09
号来一个18再来一个逗号来一个这N地啊,粘字来一个这个难诶我是不是可以往这个对象里添加这么些属性啊,现在我创建了一个对象,对象里有几个属性,三个name age,还有沾啊还有沾的,那现在呢,我这直接cancel点一个log,一个OB接点一个这个配置,我这保存它出来就是什么呀,18OB接点一个这个沾点一保存是不是就是难呀?哎是这么一个效果啊,这么一个效果,这么一个对象,那我们说了说这个对象跟这个杰森它有什么关系呢?那对象。对于像现在我们说了以后,我们去开发的时候,是不是说我们这个只有一个页面啊。肯定不是只有一个页面是吧,往往我们会有什么呀,有有前端,还有那个我们什么呀,后台服务器是吧?比如说我们会有服务器需要对我们这个网页提供一个这个支持,那这块可能是什么呀,我这个网页在前面,可能服务器在什么呀,在后边他俩可能诶是什么呀,是独立的,那现在就带来一个问题,什么问题呢?那我这网页可能要和服务器之间,我是不是要进行这个通信啊,诶交互数据,可能我网页里有一个信息要发给谁呀,发给服务器也可能什么呢?服务器里又有一个信息要发给谁呢?发给我们这个网页,这是不是都说不定啊,哎,说不定,那现在有可能会面临这个问题,那可能我的这个页面诶是用我们这个就是H写的,用我们这个假的写的,而我这个服务器呢,那可能就是用什么呀,可能用Java写的,用PP写等等加语言服务器语言,那假设就是用Java写的,那现在呢,我有这么一个对象,我需要将这个对象传递到给我们的这个后台的服务器,诶就这么一个对象,我需要传给服务器。
02:54
那现在问你这个对象我能不能传给后台服务器,服务器是用Java写的,能不能传,不能传啊,不能传,咱们先说不管怎么发,不管怎么发,如果说能发的话,你把这对象发给过去了,直接来一个cancel.log这是一个什么对象啊,这是一个GS对象吧,哎,GS样只有什么呀,只有GS认识,我们JA号认不认识,不认识C什么,其他语言,各种语言呢,都不认识啊,都不认识,所以这里边我们来说一下,我们叫什么呢?我们这个GS中的这个对象只有什么呢?只有我们这个GS自解认识,哎,其他的这个语言呢,它干嘛呀?哎,都不认识啊,其他都不认识,同样我们GS也不能去读取什么呀,账号的对象也不能读取这个PB对象,我们都是只能读自己那个对象,这肯定能理解对吧,那现在我们就面临一个问题,但是现在我们就需要干嘛呢?我就需要把这个对象传给Java,就需要传给他,那这可怎么办呀。
03:54
那块怎么办?诶,张浩他不认识这个对象,但是我又需要把这个对象给他传过去,那怎么办呢?那我想我能不能将这个对象转换成一个我们任何语言都认识的东西啊?诶,那我们想一想,我们GS和Java之间,它有没有什么共通的东西啊?诶比如说我这里边有一个123 123是个字面量,对吧,是个number,这123JAVA认不认识啊,认识吧,诶123JAVA他认识,那比如说我有个处处他认不认识啊,是不是也认识啊?哎,比如说我有什么呢?有个hello,这hello是个什么呀?字符串,这时候是在任何语言里都认识啊,123在任何语言里都是数值处,在任何语言里都是不尔值,Hello在任何语言里是不是都是这个字符串啊?诶所以我一想干嘛呢?那既然对象不认识,那我能不能把这个对象转换成大家都认识这个东西呢?然然后你想,假如说我把这东西转换成了大家都认识了,那我是不是就可以去。
04:58
发过去了,诶发过去了,那我们来看看,那我这个对象能转成什么呀?我先说能不能转成number,诶可能也能转,但是转换完了这玩意很费劲是吧?诶很费劲,诶那转成布尔呢,不尔就更不行了是吧?不尔就俩触货,你转完了他也读不明白是吧?哎,读不明白那只能转谁了,诶转成字符串,我能不能把一个对象转换成字符串啊?诶来我们来看看啊,那怎么办呢?这简单前后给它加一个。
05:29
单引号,这回你再看它还是不是减项了。不是了吧,诶它变成什么了?我们来一保存一打印,诶是不是打印出一个这玩意儿来呀,这是什么呀?诶我们来看一下这个tap off啊type炮,我这一保存走你string啊是个字符串,那字符串什么好处啊,哎字符串的好处就是都认识我们的这个Java,认识我们的这个,哎,PP认识我们这个C认识,甚至我们自己读,我们是不是也能读懂啊,M自己读也能读懂,这就是我们这个字符串的好处,那这个字符串我们给它起一个名字,就叫什么呢?叫做一个杰森啊,这个字符串就是一什么呀,就是一个杰森,所以这块我们来说杰森是个什么杰森,它就是一个什么呀,诶特殊格式的什么呢?字符串啊,就是一个特殊的格式的字符串,像这种呢,就是一个这个杰森,那我们说这个字符串有什么特点呢?我们说诶这个字符串可以什么呢,可以被任意的这个语言所什么呢?所。
06:34
别,也就是说你这个字符串发到Java里,Java认识发到PP里,别人也认识,任何语言它都能去识别这个字符串,诶那我们说那你光能识别这个字有什么好,有什么用啊,你光能识别这个字符串,我们说意义也不大,但是我们关键还得干嘛呀,你要能识别了,你是不是还得能把它转换成一个。对象啊,哎,所以这个字符串可以被任意语言所识别,并且和什么呢?并且可以转换为任意语言中的什么呢?中的这个对象啊,并转换成任意语言中的对象,这个玩意儿在咱们GS里我就可以转换成一个GS对象,在我们这个Java里就可以转成一个Java里边的对象,在其他语言里就可以转成其他语言的一个对象,那这样我们说了,我是不是就可以把我们GS的对象发到其他语言里边了,也可以干嘛呀,也可以把其他语言的对象发到我们这个。
07:27
GS里边了,哎,我们就可以达到一个什么呀,交互数据的一个目的啊,交互数据的目的,所以什么呢?所以杰森我们主要用来干嘛呢?哎,杰森在我们这个开发中主要用来我们这什么呀?诶叫做数据的一个交互,或者数据的一个传递,在我们不同语言之间的一个数据的一个传递啊,就是这么一个作用,它就是一个字符串啊,就是一个字符串,那说半天我们这个杰森到底是什么意思,杰森什么意思呢?诶我们来说其实GS,你猜出来GS什么意思,就是我们这个Java script,这O呢叫做o Jack n呢叫做一个not,叫做一个notation,叫做Java script的notation叫什么呢?叫做一个GS对象表示法啊GS对象表示法就是什么呢?诶,你看这个JS为什么叫GS对象表示法,你看它这格式干嘛呀,是不是跟我们这个GS对象的格式是一模一样。
08:27
兄的,哎,一模一样的啊,所以这块我们来说,我们说杰森的这个格式和和我们这个GS对象的格式干嘛呢?一样啊,一样,只不过什么呢?只不过我们这个杰森字符串中的这个属性名必须加双引双引号啊,属性必须加双引号什么意思?那我们再写一个对象的时候,我们说了,你这属性名是不是加不加引号都行啊,或者说你加单引号或者加双引号是不是都行啊,但家注意,一旦你把它写成一个接着了,这个属性名必须加双引号啊,只能加双引号,而且什么干嘛呢?不能不加啊,也不能换成这个单引号啊,只能加这个双引号,其他的格式呢,和我们这个GS语法一致,其他的和我们这个GS语法。
09:27
一致,所以GS对象你会了,对于我们来说这个杰森你干嘛呀,小菜一碟啊,就很很简单啊,很简单,那我们来说一下我们这个杰森对象的一个这个分类,杰森对象主要分两种啊,杰森这个森主要分两种吧,杰森我们叫对象也行,叫字符串也行啊,杰森一个分类分类我们分两种,第一种我们叫什么呢?就有两种,一种叫什么呢?叫杰森,这个叫做一个对象,诶还有一种叫什么呢?叫做一个。数组对象我们使用什么呀?我们使用大块数组使用什么呀?使用中号,也就是说这个东西叫一个杰森看着啊,我要写这么一个,写这么一个什么呢?挖一个这个AR等于什么呢?等于一个这个先来个引号,里边我来来个单引号吧,省里边前套来个什么呢?中号我这里边来个什么呢?一逗号二逗号三然后逗号来一个这个哈,然后逗号我来一个true,这个也叫什么呢?这个也叫做。
10:22
杰森啊,这个有杰森不同的是什么呢?这个叫做杰森对象,这个叫做杰森数组啊,他们都是杰森啊,都是杰森,这种说两种格式,一种叫对象,还有一种叫数组,这个能看懂吧,诶能看懂啊,这是我们说数组还有对象,两种我们都会用,但是现在我们来说一个问题,这东西没啥好说的,属性名这块没啥好说的,必须加上什么呀,双引号啊,必须要加双引号,我们来看什么呢?值,你看我们说了这个孙悟空,这个18,这个男,包括我们这个123,包括我这个处,这是不都是直啊?诶那我们说我这个直,我是不是随便写。
11:03
是不随便写,比如说写个函数行不行,行不行,哎注意啊,咱们GS里的函数那不可能扎,我认识函数是不可能传的,函数一定是只能在自己里边运行的,所以注意这个值也是有限制的啊,有限制的所以这里边我们来说叫什么呢?诶杰森中我们叫什么呢?诶允许的值,允许的值有什么呢?哎,你们想想你们猜的有什么呀?第一个我们可以叫什么呀,是不是字符串啊哎,我们这个string,第二一个呢,我们可以写是不是数值啊,哎,数值我们的那个number,第三个呢,我们可以写什么呀?哎,我们可以写这个for耳值我们这个处还有for,第四一个呢,我们可以写这个,诶叫做一个空指我们这个no,我们这个空值啊no还有什么呢?还有第五一个可以写什么呢?对象按你放的是不行的啊,对象第六一个是我们这个数组啊,数组我们的值。
12:03
只允许是这六种类型,其他的全部行,那这块你要注意了,我们说的这个对象是什么呀?普通对象你说老师你不说函数也是个对象,传个函数行不行,不包函数就是什么呀,普通对象这种对象能理解吧?哎,普通对象不能是函数对象啊,所以注意杰森是这么一个格式啊,它有两种类型,一个叫做对象,还有一个叫做数组,允许的值就这六种字符串数值不尔值,那对象还有这个数组啊,什么六种类型,那换句话说,你看我这么写它对不对啊,Y一个OBG2等于什么呢?来,我先来一个大括号,这来一什么呀,这是一个对象对吧?哎,对象,然后来什么呢?来一个这个诶A瑞,然后冒号来一个单引号,来一个什么呢?我这直接来一个这个中号123这么写行不行,诶这是我属性名,一个属性保存的值是一个数组啊,诶这样是没问题的啊,这样是没问题的,那或者你看我这么写来一个玩一个这个。
13:03
诶等R瑞Y2等于吧,这个来一个什么呀,中国二,诶你会发现我写这接上好像有点费劲是吧?来咱们这样直接复制我这一粘贴,然后再来一个逗号,再一个粘贴,这个叫不叫。叫不叫杰森,也叫杰森,它是一个杰森数组,数组里保存的是两个对象啊,这个也叫杰森啊,所以注意杰森这个格式两种,一个叫做对象,一个叫做数组,然后它这个值是这几种类型,还有它这个属性名,必须得干嘛呀,必须得加上什么呀,双引号啊双引号,好,那这块说了半天,其实可能有同学有点懵了,老师这破玩意它不就是个字符串吗?比如说你打印这个obj,这obj它是一个什么呀?是个字符串吧,你这一打印是不是把这些东西都给我,给我整出来了呀?好,咱们假设现在这个obj是哪的呢?是从Java给咱们GS传过来的,从后台给咱们传过来的,咱们现在得到这么一个东西吧,那我现在要用,我怎么用啊?那我要拿过来对象,我是不是想取它的这个属性啊,那比如说我想取它这个age,直接点一个H,这能不能取到,我一保存是不是没有啊,它是一个字符串,字符串里边没有属性吧,哎,没有这个属性,所以你这块。
14:19
取不到,那你要想取,你是不是得把它转换为对象啊,那这玩意儿完了,你这给我来一个这玩意儿,我怎么转换对象啊,哎,那你得这这就麻烦了,你先干嘛呀,先把这个前后大于大括号给它去了,然后用这个什么呀,逗号去拆分这个字符串,再用冒号去拆分每一个东西,然后你再保存属性名,保存属性值,这不不是麻烦去了呀,麻烦去了,所以这里边我们需要干嘛呢?我们是不是需要有一个方法可以将一个字符串给我们转换成一个对象啊,哎,转换成一个对象,所以接下来我们要说什么呢?我们叫做一个什么呀,哎,我们叫做将我们这个什么呀,诶叫做杰森字符串转换为我们这个GS中的这个对象啊,将杰森字符串转换为我们这个GS中的这个对象,那我们来看怎么转啊,怎么转,直接来说。
15:14
在我们这个GS中干嘛呢?哎,为我们提供了一个这个什么呀,工具,工具类叫什么呢?诶就叫杰森,四个字母全都是大写的,就是杰森,你这来一个cancel,点一个log,来一个这个杰森,我这一保存object的杰森是不是有这么一个对象啊,诶就叫杰森,那这个对象是干嘛的呢?我们说这个对象可以什么呢?可以帮助我们将一个这个什么呢?将一个这个杰森转换为我们这个GS对象,也可以将一个这个GS对象转换为我们这个什么呀,杰森啊,它可以帮我们去互相转,那咱们就举例子,现在我有这么一个对象,这个对象CTRLC,我这块呢,咱们CTRLS往下挪,是不是这么一个这个阶层对象啊,这个对象有了是不是这个。
16:15
这是一个杰森是吧,我要把它转换成一个这个JS项,我改个名啊,咱们叫一个这个杰森啊,叫杰森,我现在干嘛呢,将我们这个杰森转换为我们这个什么呀?GS对象怎么转呢?咱们来看。在我这个杰森里边有一个方法叫什么呢?杰森点一个叫什么呢?叫做一个pass pass什么意思。解析啊,我们是不是用过于pass in呀,可以把一个字符串转成一个number吧,这个也是pass,它是可以干嘛呢?可以将一个这个杰森转换一个什么呀?诶它可以将一个这个杰森字符串转换,为什么呢?转换为我们这个GS对象,那怎么转呀,怎么转,我想把这个玩意转成字符串怎么转,诶转成对象啊,那我是不是把这个东西给它传进来呀,哎,传进来啊,它可以干嘛呢?哎,它诶需要一个这个杰S字符串作为这个参数会什么呢?会将该字符串转换为我们这个GS对象并什么呢?并返回啊并返回,所以注意,那我们说了,它的返回值应该是个什么呀?是不是应该是个对象啊,哎,我们先看看有没有啊,直接挖一个挖一个咱们就O吧,等于它,然后呢,我直接cancel.log这个O,我们先看看。
17:43
有没有啊,我这一保存走,你object是不是确实有了呀?哎,确实有了,那我们来说那是不是将它转成对象了,那如果将它的确是将它转成对象呢?它里边是不是应该有name edge还有旃啊,哎,我们只需要看看有没有就行了,直接来一个O点一个name或者已保存。
18:03
孙悟空吧,诶,我来一个o.a我已保存是不是刷呀,O点一个这个GE粘的我已保存是不是难呀,是不是就都有了呀?哎,看来的确是将这个字符串转换成了一个什么呀对象,那这个是在我们GS里,同样如果你跑到了Java里,它也可以干嘛呀,把它转换成一个什么呀,Java里的对象啊,都是可以互相转的,诶那我再转一玩,我这是不是还有一个这个array呢?这array能不能转呀,试试呗,来一个玩一个这个or等一个这个杰森点一个pass,来一个这个瑞,然后呢,咱们还是在这,我直接输出一下这个over,诶咱们这样复制一下吧,直接来一个cancel.log一个这个over,然后一保存,咱们来看走你。嗯,好像没变是吧。变不变,诶咱们来看看啊,加一个什么呀,加一个索引,那这个东西它是不是应该转成数组啊,加个索引,我来一个来个一,我这里保存走,你是个输出二了呀,哎,那证明是不是确实把它也转成一个对象了呀,所以注意以后在我们GS里,你需要将一个这个杰森转换成我们这个对象,就用什么呀,杰森点pass啊,就用我们这个杰森点pass啊好,那这是一个杰森点pass,那除了这个还有什么呢?现在假设我有这么一个东西啊,有这么一个,比如说我就来一个这个Y,一个obj obj3等于什么呢?等于一个大框,我只要创建一个对象,这个对象呢,我来一个name name冒号,我来一个这个猪八戒,猪八戒,然后呢,我来一个这个age age来一什么呢?来一个这个,哎,28,然后来一个这个,真的真的来一个这个来。
19:53
那哎,那这个是我们说写的这么一个对象,对吧,当然我们这个对象我是不是可以。无限复杂呀,现在我就写了这个三个属性,我是不是可以写30个,300个,3万个呀,想写多少个就写多少个啊,现在干嘛呢?我就需要你将这个对象转换,为什么呢?杰森,如果我们手工转怎么转呀,加光加引号行吗?
20:18
属性名你是不是也得加呀,哎,属性名你可以加,那你会发现这个事儿会变得什么呀,是不非常的麻烦呀,哎,非常的麻烦,所以一般我们都不会去手动写这个东西啊,不会手动写,那不手动写怎么办呢?我们再来说下边一个叫什么呢?叫做一个GS对象转杰森啊,JS对象转杰森怎么转呢?还是找谁呀,我们这个杰森对象它里边有一个方法叫什么呢?叫做一个叫做一个string ify这个方法,哎,那这个方法干嘛呢?来我们说一下string if fy可以什么呢?可以将一个这个GS对象转换为我们这个杰森字符串啊,转换我们这个杰森字符串它需要什么呢?需要一个这个GS对象作为参数会什么呢?诶,会返回一个这个杰森字符串啊杰森字符串也就是说它跟上边这个正好相反,上边是进来一个字符串,返回一个什么呀对象,下边这是什么呀?进来一个对象是不是返回一个字符串啊哎,所以这块看着我直接来一个OBJ3,后面来看这里边我来一个Y,一个str就这么写了啊,然后呢,我直接cancel.log,我们先看看type of这个str,我是不是先看它类型啊,我这一保存走你string吧,诶,咱们再来看它的值。
21:45
来我这一保存。诶,你看name是不是自动给你加双引号了,Age是不是也给你加双引号了,粘是不是也给你加了,诶你像这28为啥没加数字啦,哎,数字就没有给你加,所以你会发现什么了,这个事儿我们还用不用自己去做了,不用,用我们这什么呀,叫做一个杰森,点string ify就可以教你一个这什么呀,对象转换为我们这个杰字符串,这方法吧,名比较倒霉,不太好记是吧?我怎么记呢?我也没研究这ify啥意思是吧?叫string是字符串意思,String,我就是I can fly。
22:18
哎,就这么记得是吧,M记得啊,String I can fly,基本基基本你记住Y后边就出这记住这ii后边都出来了啊,后边都出来了啊好,那这个呢,是我们两个方法,以后要是将字符串转对象就用pass,要是将对象转字符串就用这个什么呀,String ify,注意都是杰森的这个方法,都是这个大杰森的方法啊大进方法好,那这一块我们就看完了啊,杰森我们主要说的就这么多,以后这个杰森我们会用的非常非常多啊,都是做一些什么呀,数据交换的格式,我可能把数据从这儿传到这儿,从这传到这儿,杰森相当于什么呀,相当于是我们的一个。
23:00
信使一样,他去我们替我们去干嘛呀,去交换这个数据啊,交换数据目前阶段来说是一个比较,诶比较轻量级,速度比较快的这么一个数据格式啊,数据格式好,那这就看完了啊,看完了以后呢,我们来看一下问题啊,咱们看看这个兼容性的问题,咱们先看看火狐,我们就不看了,Cream也不看了,直接看我这个IEIE这块一刷新,咱们只看它输没输出,一输出是不这不就转成了呀,哎,转成了啊,我们来看看谁呢?看看我们这个IEIE8 ie8是不是也行啊IIE8以行,实际上就没啥问题了,但是我们要看一下IE7,我们要说一个东西啊,IE7唯一运行杰森未定义是不是就报错了呀?哎,就报错了,为什么呢?我们来说一下。应该说杰森这个呃,对象就是这个大杰森这个对象啊,我们这工具链一个对象在什么呢?在我们这个IE7级以下的这个浏览器中干嘛呢?不支持啊不支持,所以什么呢,在我们这些浏览器中调用时会什么呢?会。
24:08
报错啊,会报错,所以你这块你注意你一在IE7里掉,这是不是来一个阶层未定义啊,就给你报错了啊,所以这个东西在IE7里边就不能用了啊,在IE7里就不能用了,那我们说了,假设你要去兼容I7I6这些浏览器,你要怎么办啊,我说了这种需求现在来说比较少,但是我们要演示一个东西来说一下。诶,这边文件我们来一个0505,还是来说这个杰森啊,主要来说我们这个I7,那这里边怎么还是来一个script的标签,整一个对象过来,整一个杰森过来啊,找到我们这个吧。方塞。CTRLV,假设呢,这有这么一个杰森,这个字符串是不是就是一个杰森呀,杰森有了,那现在我要干嘛呢?我想将这个转换成一个对象,在其他浏览器里很简单,直接来一个杰森,点pass是不是就行了呀,但是我们说在IE7里呢,他不认那个啊,他不认那个,那怎么办呢?哎,那我们要说一个什么呀,说一个函数叫做一个什么呢?叫做一个以外这个函数,那这个函数有什么用呢?我们来说一下啊。
25:13
叫做一个什么呢?Evaal以外这个函数可以干嘛呢?哎,这个函数很神奇是吧?诶这个函数可以什么呢?可以用来执行一段什么呢?叫做字符串形式的这个GS代码啊,可以用来执行一段字符串形式的GS代码,并什么呢?诶,并将我们这个执行结果返回啊,并将执行结果返回什么意思?我们先不管它,我这写一个Y一个STR2,我等于什么呢?等于一个alert,然后我这写一个这个hello,我这个字符串,它这S加二是个什么呀?是个字符串是吧?但是字符串里边是一个什么呀?是个GS代码吧?诶我这一保存,我们来在这儿运行一下,这个是我们这个关了啊,咱们再运行一下CTRL这段代码会不会运行啊。
26:03
即使你到了IE7里边,它是不是也不会运行啊,因为它是一个什么呀,它是一个字符串,哎,它这并不会执行,那假设你现在有这么一段代码,如果你想要执行,那怎么办呢?诶,我有一个E这个函数,直接来一个这个eva al e这个函数来干嘛呢?你将这个STR2作为参数给它传进去,那注意了,这个str它不是一个普通字符串,它是一个什么呀?它是一段GS代码,那如果你将它作为参数传给我们这个EE外干嘛呢?它会自动将这条代码给你执行啊,会自动将这个代码给你执行,我们来看啊,我一保存咱们来看效果,直接看这一刷新。看见了吗?是不是就执行了呀?哎,所以注意以外的作用就是干嘛可以将一个什么呀,字符串形式的代码给你运行出来啊,给你运行出来,所以这个方法呢,实际上它是什么呀,很强大的一个函数啊,很强大一个函数,那好了,那那同学可能说了,这东西跟它有啥关系啊。
27:06
这以为跟它有啥关系啊,那现在我是不是想把这个str这个阶层字符串转换成一个GS的。对象啊,我想转成一个对象,那你来看,那我这里边儿。它是不是也是一段GS代码啊,哎,那我一想,那你也是G代码,我也来一个以外,我是不是让你去执行一下它呀,诶我们来看效果啊,我这一保存,咱们来看一刷新走你哎哟。报错了是吧,给你报了一什么呀,缺少分号,哎哟,我这语法是对的是吧,我刚才从这直接粘过来的,这语法没问题,我们刚才已经转成功了,但是到这儿却给你干嘛了,报错了,这是为什么?我们来说一下啊,问题在哪?问题在这个什么呀。大块的啊,大块的,所以注意啊,我们来说一下,如果什么呢?如果我们说使用我们这个EV以外,它执行的什么呢?执行的这个字符串中含有这个什么呀?有这个什么呢?叫做大块,它会什么呢?大块还有什么时候用,除了对象有还有什么时候用。
28:19
代码块吧,诶代码块啊,所以注意,如果这个里边执行的字符串中含有大块,它会将这个什么呢?将这个大块当成是什么呢?当成是代码块,也就是说他把你这大块当成什么了,当成一个。代码块的,而这些name呀,孙悟空啊,是不是代码块里边语句啊,你这写name name后边跟一冒号,这冒号啥玩意儿,他是不是给你报语法错误了呀,诶报语法错误啊,所以注意它为什么报错,就是因为什么呀,他把这个当成一个代码块了,那我们说了,我们这个对象如果当成一个代码块来说,那解析那是不是就错了呀,但是这东西它实际上它是不是代码块不是吧,那不是怎么办呢?诶我们来说一下啊,如果不希望将其当成这个什么呢?当成这个代码块解析则什么呢?则需要在我们这个字符串前后各加一个括号啊,各加一个括号什么意思?你在这儿给它加一个什么呀?加一个括号在这儿呢,再加一个括号,那表示什么呀?是不是表示我这是一个整体,不是代两块啊,哎,表示它们是一个整体啊整体,但是你在这儿加呢,不太好,可以干嘛呢,可以直接在这儿加,怎么加呢,前边来一个什么呀。
29:36
左括号,然后加上一个,后边来一个什么呢?这个右括号,我再加上一个是这样行了,哎,把它套在一个括号里,这回我们再看还报不报错了啊,我这一保存,咱们来看一刷新报不报错了。不报错了吧?哎,不报错,但是问题来对象是不是也没有啊,一定注意它会干嘛呀,它会将执行结果返回吧?诶你要返回我是不是得整一个变量接收一下啊,来一个OB接等于它,然后呢,我在这儿直接cancel.log一个OB接,然后一保存刷新是不是就有了呀,你看AGE18旃男内幕孙悟空是不是都有了呀?诶所以通过这个以外,我们就可以将一个什么呀,将一个阶字符串很轻松的就转换成一个什么呀,对象,诶是不是很方便呀?诶很方便啊,那这里边我们要说一句啊,我们要说一句,说这就是为了说出这个函数来,那这函数要说一句什么呢?这个函数以外,这个函数的功能呢,功能很强大很强大啊,很强大,可以什么呢?可以直接直行一个这个字符串中的这个GS。
30:52
代码,但是呢,在我们这个开发中可以尽量的不要使用。啊不要使用,为什么不要使用,第一点,首先呢,它的什么呀,因为首先吧,首先它的这个什么呢,叫做执行性能比较差,换句话说,同样一行代码,你让它执行,执行速度干嘛呀,就比较比较慢比较慢,诶尽量避免使用,但是这都不是最主要问题,还有最主要什么呢?诶然后诶它还具有什么呀,具有安全。
31:30
隐患,什么叫安全隐患呀,现在你注意了,这哥们儿是不是太强大了,他可以干嘛呀,强大到传一个字符串,他是不是就直接给你执行了呀?诶,那我们假假设这个字符串它不是咱们传的,那可能有的时候是什么呀,这东西是从用户那传过来的,假如说有一个别有用心的人,他在这儿给你传了一段什么呀,恶意的一个代码,那可能传了一个代码,也可能把你整个。用户信息啊或者什么呀,网站就给你给你整挂了,这能理解吧,因为它太强大了,所以这个东西呢,要尽量避免用,但是你要知道它有这么一个东西啊,这避免用,它性能比较差,然后它还有一些什么呀,安全的一个隐患啊,不太安全这块一定要注意,好那同学可能就嘀咕了是吧,说了半天不让用是吧?哎,不让用,但是我就主要是给你介绍一下这个函数,我们实际当中呢,兼容I基的情况下也很少了啊,你很少了,所以主要说这么一个函数,而且你刚说这个函数我们这块只是将什么呀,将一个对象转换成一个,不是将一个字符串转成一个对象吧,那我要将一个对象转成这个字符串,那是不是就麻烦了,哎,所以我们不采用这种方案,但你要知道可以用啊,可以用,诶那那那那怎么办呀。
32:40
那真要用怎么办呀?真要去兼容IA6I7怎么办呢?诶,我们来说一下最终方案啊。来咱们在最上边说啊,在这来说,如果需要兼容,兼容什么呢?兼容我们这个IE7及以下的这个JS操作,诶则什么呢?则可以诶通过引入一个这个外部的这个GS文件来干嘛呢?来处理啊,可以引入一个外部的GS文件来处理,什么意思来看这儿了,我这儿有一个这个note,有一个叫做一个杰森to.gs我CTRLC我给他。
33:25
粘过来,粘过来以后呢,我们还是先运行一下啊,CTRL运行我先没引入呢啊没引入呢,还是切换到IE71切换,我这一刷新,这时候就已经给你报错来,诶报错了告诉你杰森未定义,因为它这里边是不是没有这个监对象,诶所以给你报错了,好那现在干嘛呢?我来引入这个文件,直接来一个script的标签,然后我这来一个这个S啊RC等于一个什么呀,GS2.gs直接引入,这样我已保存。咱们再看还是它,我一刷新。
34:01
是不是就出来了,哎,就出来了啊,所以这块注意,如果你需要兼容,直接引入这么一个GS文件就可以了,其他的你都不用管了,引入以后IE7IE6和我们其他浏览器的操作方式是一样的啊,操作方式一样的,那同学说了,这东西怎么这么神奇啊,它怎么处理的呀?哎,你接你这IE7IE6里边不是没有接他这个对象吗?那他怎么办呀?哎,我给你自己写一个呗。诶,所以它这里边儿所有代码这都注释是吧,都注释整个过程呢,都是在创建一个什么呀。是不是接他对象啊,然后下边给你整了一堆是吧,什么乱七八糟都是什么正德雅士是吧?诶给你去切串啊等等一系列的,感兴趣可以看看是吧?诶感兴趣可以看看啊好,这块我们就不多说了啊,这个就是我们的一个杰森啊,杰森一定要注意,它就是一个数据交换的一个格式,就是一个字符串,就是一个字符串两种格式,一种叫对象,一种叫数组,它的值只允许这么六种类型,字符串数值或者值,那还有对象,还有一个数组啊,就这么几种类型格式和我们这个对象一样,一定注意属性名必须加双引号,必须加双引号,什么叫必须加?有同学说了,老师我这就不加双引号。
35:20
就不加,比如说就是他吧,CTRLCCTRLV,直接来个STR3STR3我这就不加,我说我就写单引号,单引号不行,单引号签到是吧,那咱们不加不加不加从对象角度讲,它是一个合法的,对吧,但是我们来看看转个呗,直接接点一个pass s tr3我这一保存,咱们直接边改边看。我给你报错了呀,哎,说白了,你这格式错了啊,格式错了他不认识,我们看看火狐里边可能错误稍微能详细一点。
36:01
F12,注意刷新我们控制台,诶是不是杰森帕什么这个诶name。乱七八糟是吧,诶告诉你这个接算数据的格式错了,诶错了,所以注意啊,这个单双引号呢,必须得给它加上啊,给它加上哎,这样呢,如果你加上以后呢,你再保存是不是就没事了啊,就没事啊,你清空一下啊,这块一刷新。是不就不报错了,一定注意这个格式啊,这个格式必须得是加这个双引号的,还有就是如果说这个格式你记不太住的话,以后想查的话,直接找我们这个W3SCHOOL离线手册,Javascript里边有一栏,是不是叫杰森呀,诶杰森你点开叫什么呀?诶javascript对象表示吧,Javascript的object下边的实例都会有一一的介绍,包括这个语法,包括它这个特点都给写了,是存储和交换文本信息呢,语法类似于这个mmr,但是呢,比mmr更小,更快,更易解析,说白了就是更好啊,更好,包括下边一些这种解析的方式,在这都去给你做了一些介绍,诶想不起来的话,可以在这来参考一下啊,参考一下好,那我们这就说完了。
我来说两句