00:00
我们直接来说点东西,好说点什么东西呢?好,走你。好,其实我们上午是不是讲了BFC跟孩子的奥塔,以及怎么去庆祝浮动啊,讲了这三关内容是不是啊?好,下午的第一节课的话,我们说一下水平推出居中,可在说水平推出居中之前,我们上午是不是提了一个哈卡?CSS哈卡,那这个哈克的话,我们是不是只是简单的给大家去提了一下,那这个哈,其实它是有运用的啊,我们来看一下这个哈克的运用在哪。好,我们来写一个函数,检测一版本IE的一个工具。好,怎么去检测低版本IE好,什么意思好,现在我想在这边定一个方法。叫is IE,我如果往里面传八,它就可以,它就给我判断出你当前的这个运行环境是不是IE8传期,就给我判断出当前的运行环境是否是I7传九,判断出当前的环境是不是I9,懂不懂,我们想定义出一个这样的函数来,那这种函数的话,如果你的项目需要兼容IE的话,那这种函数还是比较有用的,知不知道那这个函数怎么做好,我们说是干嘛自定义检测。
01:23
低版本IE的函数。好,怎么做好,首先我们来看好,我们看我们的heart里面,呃,其实我们这边这是真,这个是真正的heart啊,这这种是真正的heart懂不懂,像我们这块的话,是不是写在STST标签里面里面的一些heart卡,其实它有一个另外的名字叫条件。注释条件。叫条件注释表达式,好,那这是它什么?另外一个名字你也可以知道,都是一样的,对吧?好,那这个条件作学表达式和我们说今天上什么是我们来看一下这个啊,这个其他的条件作学表达式你们自己来测一下啊,它只在I10底下才有用,懂吧,I10它也是没有没有用的,来看一下,如果这个时候是I6,那是不是我们只在I6里面应该有去显示啊,是不是啊,OK,这个上午是不是已经测过了?好,如果是I7呢。
02:24
那这个比较好,好测一点,因为我有I。F12。好,刷一下。那大看是不是只在IE7里面才有显示啊,你看IE8里面有吗?都没有吧,OK,如果的么,如果这边换成IE8呢?是不是这个文字只在IE8底下有显示啊,IE9里面是不是没有,你看IE8里面是不是会有显示啊,IE7里面是不是没有,是不是好,正是通过这个东西我们就可以定义出来一个比较炸天的一个自定义检测IED版本的函数,你会发现在其他库里面,你要去检测I的话是件特别麻烦的事情,你们可能做起来你会发现大段大半的代码,可能有几千行代码就是来检啊,几千行有点宽张,可能是什么?几百行代码是用来检测I版本的,那我们今天我们来定义一个检测ID版本的函数,这个函数极其简单,这是我们在getth ho,上面我们看到的一个东西啊,当时看到的时候我觉得稍微有点近乎疯狂啊,因为没想到就是有人能想到用这么巧妙的一种方式来检测IE的底板啊,看一下怎么做好,我们来定一个函数叫EIE。
03:31
好,我会传一个版本进去,好,这是一个变量传进去,是不是我们要通过这个东西最终给我返回什么。最终给我返回出一个什么罐子。到底是不是在。IE的这个版本底下能明白吗?最终我在这边我要去调,我待会去C点漏好我这边什么is IE,如果我传一个IE8,如果你当时整个代码是跑在IE8底下的,那你就应该给我返回错,如果是跑在其他浏览器底下,你就给我返回force,明白吧,只要实现这个功能,那怎么做?
04:07
好,大家来看我在这边干嘛,一个B等于document.create create element好创建个B标签,那B标签是不是在我们的一些那个在我们HT里面,B标签是不是一个干嘛,基本上好像不怎么去用它的一个标签嘛,是不是啊,OK,那我们说如果想要操作B标签的一个应呢?啊,它里面的一些东西,我我我们应该使用哪个属性,想要把它里面的一些内容给换掉,我们应该用什么英拉拉行不行。In text跟ship的区别是什么?一个是改成文本的,一个是可以把你的标签结构全部改掉了吧,是不是好,比如说我把这个东西改成什么呢?我来看。CTRLC直接贴过来好,那这个东西可以可以什么干掉好。
05:06
好,我把这个里面放一个爱标签。放一个爱标签。好,我把这个东西做成一个变量。好加加好,把这个微信格嘛,版本格嘛,直接给它贴进来,好那这个时候是不是我们说你如果传IE8的话,其实他会往这个B标间底下给你添添一个什么调节数学表达式的,只不过这个版本是八八,如果传一七呢,这个音是不是就七啊,这比较简单吧,好最终怎么办好,我们说你是不是只是创建出来一个B标签啊,这个B标签现在是不是在我们计算机的内存里面啊。他在我们的浏览器上吗?它有塞到我们动姆术里面去吗?没有吧,那怎么塞到动术里面去啊?怎么删?是不是document点。body.append。
06:03
找到这个什么。B标签吧,是不是啊,好,可是千万不要这么干,我们不需要去把这个标签塞到什么。文档上怎么做,我们直接在这边去看,我直接去return什么,Return一个什么b.B现在是不是个标签,那能不能get element白给。嗯。能不能我找到什么里面的I标签行不行,如果这个I标签这个数量。等等于一说明你最终这个A标签,我浏览器有没有认。有没有认,在什么情况底下才会认这个标线。是不是只有在IE7底下。在I底下我的B点给白找到这个A标签是不是才有一个,其他的情况底下的话找到应该有多少个零个吧,客户我们可以来看一眼吗。
07:01
干嘛我直接抗o.look好什么呢?比如说我们是不是document上有个东西叫玻璃啊,这是不是拿到我们这个玻璃标签啊,他点get element by。他给你我直接去找一个I标签是不是好看这个点什么。点认识吧,应该找他的认识吧,这是看如果我在这个页面上面加钱。CTRLC上来好,CTRLB上来好,干掉。呃,这边应该换成什么,如果是A8的情况底下好,这里面是不是才有一个玻璃,底下才有一个A标签啊,好来看一下好怎么玩,嗯。这是不是拿到是个尾尾数组啊,什么叫尾数组啊,什么叫尾数组。
08:00
具有len及T具有认识属性的对象,JS对象在JS里面都可以叫尾数组,明白吗?只要你具有认识属性,那你就是一个。尾数组,OK啊,其实G里面压根就没有数组这一说懂不懂?呃,GS是唯一一个没有数组的语言,那它的数组其实说实话就是一个什么具有认识属性一个对象能明白吗?只不过JS里面有个A瑞,它给A瑞上面添加了很多API,那这些API都是参照其他语言来参考过来的,能明白吗?JS语言本身就没有数组懂不懂?好,只有JS对象,OK,我们看,那我们来看一下,这个时候应该返回到。这个时候应该返回多少?嗯,我们看是不是在I8底下,你猜应该有啊好,如果在IE底下F。好,IE11我来刷一下。是不是零啊。
09:00
是不是啊,为什么连,因为A11他压根不认这个号子嘛,是不是啊,来看一下I8。是不一样,它为什么是一样?因为你是不是可以干嘛,因为你这个在I8底下这个ii标签,它认不认认得吧,相当于玻璃底下是不是就有一个I标签啊,能理解吗?好,那我们正式使用了这种特性,我们来看一下,好,这个还是给他概念。好,正式使用的这个特性定义出来一个函数,好,那这边不应应该是点。认识是不是判断这个认识是是否等于一嘛,是不是来看一下,好OK,来说一下走你。好看。如果我是在A11底下,我来刷一下看返回什么负是吧,好,如果是A10负4A9。复试一八。复。七是不是错啊,你看我这边是不是干嘛判断一下你是否在IG底下是不是啊,你看我现在的话,现在你看如果在IG底下运行的话,是不是才给我返回去啊。
10:05
能理解吗?OK,那这个函数有没有起作用?好,你看如果A8呢,刷一下。OK,你看如果在I底下是不是返回复杂在IE8底下是不是返回啊。去啊,能理解啊,是不是这个函数已经起作用了?好说一下这个函数巧妙的地方在哪?好,首先GS里面的作用是不是都是函数作用啊?是不是啊,好OK,我们来看一下,好有没有讲过重用这个事情啊。有吧,好,JS里面的作用又是什么?JS中的。啊,我们稍微提一嘴JS上面的东西啊,之后会给你们去讲JS高级的课啊。JS中的作用于。都是函数作用域,是不是想想一个在函数作用里面,这是不是我的一个作用域啊,我是不是把这个B标签完全干嘛封装在了我这个作用里面啊,问你,你外部对我这个B标签还能产生任何操作吗?
11:08
能吗?你想在我这个函数以外,对我这个B标签的的ST去增加修改限值,还有可能吗?没可能了吧,说明是不是只有在我这个函数内部,你才能去调用我这个B的应方,把它一些值改掉,也就是说具体你这个B标签底下有些什么标签,是不是只有这一行代码能操作啊,你在外面还可以影响到吗?你还可以影响到这个我的B点一的HT方吗?可以吗?不可以吧,能不能讲这是件很重要的事情吗?是不是因为我们说什么,我们是不是最终判断你是不是等于一啊,也就是说最终你往我这个B标签里面塞这个一台细胞里面是不是只能塞一个A标签啊,你如果外部逻辑还能往里面去塞A标签的话,我们整个逻辑还能成立吗?还能成立吗?成立不了吧,其次我们刚刚又说了,我们说你能把这个B标签塞到文档里面去吗?多。
12:06
点你把这个标签你能塞到文档里面去吗。一旦塞到文档里面去了,你在外部能不能获取到这个B标签啊,你在外部获取到这个B标签,你来再去修改它的T表,我问你这个逻辑,这个逻辑会不会被改掉。会不会改掉吧,就说我们要干嘛,一定要把这个B标签封装在整个函数作用内部,不能让外部的逻辑去处理这个B标签,能明白吗?好,这就是这个函数比较巧妙的地方,所以说你干嘛,你这个哇,不能干嘛。你这个话一定要写在这个函数里面,你不能干嘛,你不能这么写,这么写它也会透出去的,能明白吗?OK,那这边为什么会透出去,为什么会透出去,大家大家知道吗。变量的什么提升是不是啊,这个叫。好,这种时候其实会对这个B做一个左查询,什么叫左查询,好稍微说一嘴啊,跟变量的提升,其实。
13:09
好,这边你如果说这个是变量提的话,我想想啊,这边如果是变量提升的话,说实话没有变量提升啊,这里面没有任何变量提升的事情。好。来看一下11啊,稍稍微给大家去说一下啊,那不应该是在这个阶段讲的,有人现在已经碰到这个问题了,我就来说一下啊好,11什么叫左查询,什么叫右查询。呃,有点卡。好,正好我把这个视频。
我来说两句