00:01
好,我们继续往下看啊。啊,我们这一次课呢,主要是讲JS高级,但是我们先从基础开始。啊,这些基础呢,包含哪些部分呢?数据类型,数据变量,内存对象以及函数,这每一个大家应该都是觉得是很清楚的。譬如说我们来先看第一个数据类型。啊。在说数据运行,大家想想我们应该去看他的哪些方面。首先我们是不是要看一下它有哪些分类啊?只先要想啊,对吧,好还要看什么。除了看分类,也就是说到底哪些数据类型对不对,那下面呢,还有什么。如何判断?这个非常关键。也就是说一个数据出来以后,它到底是什么类型,我是不是得判断出来。有人说老师我为什么要判断数据类型呢?因为不同数据类型它的行为是不是不一样,如果一个数据如果你不知道类型的话,大家想你知道怎么操作吗?
01:11
你就不确定吧,譬如说我有一个,我有一个数据呢,是三有一个数据呢,是一个对象。如果我不知道这个数据类型,那下面的操作我是不是没法进行了。能不能懂啊,OK,我们重点要去说两个方面。一个是分类,一个是对这个类型的一个什么呢判断好我们来看一下。嗯,我我基本的页面就大概这个样子啊,就大概这个样子,因为这样的话呢,省一点时间,好那我们回顾一下整体上有几种类型。整体有几种?整体一上来就有六种啊,是不是两大类哪两大类?首先一个概念叫基本类型,对不对?类型我就不写了,还有一个叫什么类型引用或者叫什么。
02:11
对象类型是不是一个意思,那基本类型来看一下啊,这个基本类型有时候我们也称为什么呢?有个概念可能大家不知道,叫子类型,就是有一个基本的子,那对象类型我们有时候也称为什么,刚才大家说道是不是引用。没问题是吧,你先要有整体的两种类型,接着基本类型。哪些?几种五种?当然是大家说的五种好了,有三种是最常见的使菌字串是吧?有什么number,还有什么玻璃行,还有两种在生活中用的少,但在程序中也用的挺多的啊,一种叫什么andd find,还有一种那对很好啊,大家现在先把这五种先搞清楚好了,我把下面也写一写。
03:15
对象类型有哪些?其实统一了这上面的是我,但是有两种特别的对象,有两种特别的对象,哪两种函数我们就叫它什么方形,还一个叫什么数组。数字怎么说?对不对,好,那下面我们要说的是字符串类型是不是任意的字符串值,它的值是不是任意的字符串,它的值也就某种类型是不是有很多值啊。能不懂这意思啊,能懂,那number类型呢,任意的什么数字。
04:00
那跟它是整数还是小数有关系吗?没有,跟它是正数还是负数有关系吗?没有啊,好,下面类型有哪些值,它是不是就两个值啊,一个叫处,一个叫Bo,那它的值。是不是就它本身,它是不是就一个值啊,那我就不用写了,是把它复制过来就可以,那那呢,是不是也是只有一个值。这个能懂吧,啊,这个大家分享啊,自己要想,你要跟着我想下面。这个对象类型有哪些值呢?它是不是任意对象都是我们这个类型,任意对象看到任意对象。都是object类型,也就是什么意思呢?你创譬如说举个例子,我写一个这个是不是一个对象,是不是个object,是我定义个函数,是不是个欧伽,是不是也是好没问题,那方形怎么说呢?它的值是一个什么,它什么类型。
05:13
一种特别的是吧,对象是吧,那它特别在哪呀。现在就想看特别的吧。就是说一个函数和一个一般的对象,它的它的特点在哪里?其实非常简单,可以执行。可以调用资金,也就是说它的内部是包含的是可运行的代码。你想想,一个对象能执行吗?啊,譬如说我我过一个OB等于一个对象,是不是这个对象它里面有可运行的代码吗?没有它用来干嘛的呀。
06:03
对象用来干嘛呢?纯数据的。那函数用来干嘛的呀?它是不是存了代码呀,比如说我来个test啊,我问了一个A等于三是吧,你这函数定义出来是最后是做什么用,是不是调用执行。是这意思吧,啊,大家去用一种特别的角度去看问题啊,不能再按你前面的角度一点一点看。OK,好数组怎么说?速度怎么描述啊?也不知道怎么描述了,那他是不是对象那一样?也是一种特别的对象,它特别在哪呢?它跟一般的对象,它首先说它是对象对吧,那特别在哪里。
07:02
它的属性是些什么属性呢?数字下标属性。他是不是有数值下标啊,你到时候操作了内部的数据,通过什么操作的,是不是数值下标。你想啊,我们来看简单看一下,你不啊,我们来搞一个啊,AR等于来个三来个ABC可不可以可以。那我说我定义了一个对象有没有问题,没问题吧,是不是啊好了,那我操作的时候大家想啊。我操作的时候,我想得到这个ABC怎么得。AR中括号一,那也就是说我是不是通过下标来操作。是吧,好,还有一个特点内我写一下啊,我先写内部数据是有序的,这个非常关键,那也就是说上面,譬如说假设我下面来个对象啊,来个对象啊,假设我有一个他啊有一个A。
08:16
12、可以吧,那你说我们一般的对象内部的数据有序吗?有没有序,没有。没问题吧,那数组内部的数据有没有去有。这是不是我们数组的特点?大家想啊,OK。这个能清楚吧,只是他可能没有以前没有按这个角度去看这个问题啊。等等。好,行,嗯,来,下面我说一下我们如何来判断一个数据类型呢?有几种方式跟大家说,首先大家应该知道的几种方式,先说说type关键字是吧,还有什么instant对不对?来看一下of,其实还有一个。
09:16
这个用过吗?应该用过吧,你你经常有可能是不是用if来判断if号那里面有没有用过三个等号,比如说三个等号没用,我用过两个等号。但是历史老师应该说过,尽量不要用两个等号,而应该用什么?没说吗?没有啊,笑啊笑的我都有点受不了啊啊。尽量的,如果用全等的话,尽量用用三个等号去等,这个叫全等是吧?啊这三个等号两个等号有区别吗?有对吧?一个会做数据转换,一个什么不会做数据转换,那如果尽量的我们就用三个等号去做。
10:05
这你就判断两个数据是否是什么完全相等。好,我们来看一看啊。下面我一点来,首先呢,我们来去看一下,我们不两大类嘛,一类是基本数据对吧,另外一类是对象或者叫引用数据,对不对啊好,我来整一个看它过一个A,我先不负值,现在请问A打印出来应该是多少?好我们把它打开是吧。大家得跟着节奏走啊,因为都是一些点的一些测试find。也就是说这个打印输出应该是I find,好,下面我来做一件事情,我怎么去知道它的类型呢?用什么就可以type of,可谓type应该输出什么。
11:09
那也是也是这个是吗?是这个吗。是这个吗?不是,首先你得知道table返回的是什么。反馈什么,这个一定要知道啊。还有什么数据类型的字符串表达,说白了最后反过来数据什么类型是不是字符串了,那所以说它返回的输出的应该是一个这样的东西。这两个有区别吗?也就是说来,我再来一个打印输出啊,我再来一个打印书,这些东西大家都必须得很清楚啊,我打印谁呢?我打印它。等不等于。
12:02
对不对,这个值应该是什么,我们先推断再看啊收获来看一下,把它来刷一下。嗯。要保存吗?不对,他应该是保存的,嗯,把这个关一下啊。嗯,好像浏览器卡死了似的。这怎么过日子啊,这我都感觉都看不太,嗯。这这这完全太背光了啊,都看不清楚。我们看下。嗯。我们推断对吧,一个是undein是吧,另外一个第二个来音什么undein字符串,而下面是什么course,那也就是说我怎么知道一个数据是不是I find这个值呢?其实是不是用type of就可以。
13:13
对吧,啊,我也就是说我怎么知道这个A是。它的值是一个208年的值。实际上我就太等,不等于什么。我要判断这个A的类型啊,是不是一个案例呢,可不可以,哎,可不可以,不可以,应该怎么写,这个一定要转过来,应该这么写。是不是,那除了这种判断方式,我还有别的判断方式。我还有没有别的判断方式知道这个A是一个any fine?嗯,有没有别的判断方式。有吗?这个大家不知道啊。
14:00
你就想我的我的这个,我把这个,我把这个留着啊,我把这个留着。我们的这个安find呢,它只有几个值啊,一个值,那我可以用什么的判断这三种字,我刚才是不是用开,那我能不能用它。那么呢?不能,为什么呢?因为这一种它专门是用来判断什么呢,判断对象的类型。或者叫具体类型。它到底是什么样的对象?是一个函数呢?还是一个数组?那我能不能用它。这个能不能可以吧,怎么写。A。等不等于。现在该怎么写,是不是又串了?对不对,所首先你一定要把这两个值搞清楚。
15:05
对吧,你不要觉得这个不重要,这个非常重要,因为它基本知识。那也就是说,现在来想想,我们应该输出什么,前面两个还固定的,后面两个输出什么。Two,来下面这个。这个输出吗。这个速度。是什么,是不是?对吧,啊,我们来看一下是不是。对的吧,那也就是说我安范的两种判断,一个是,也就是说我这个table能不能判断安范呢?是不是可以啊,而这一个等号能不能判断安方呢?啊,我来写一个啊,可以判断安方呢。哎,这两个都可以是吧,没有问题,好,下面我们来看另外一个值,后面的值就比较简单了,譬如说我来个A等一个三好,这个时候那个type of a应该等等于什么。
16:16
什么?等于什么东西,是不是应该等于它呀?对吧,啊好,我们来看一下。质数吧,啊,这个倒没什么问题是吧?好,那我能不能用一个用A等等于什么来判断这个值是不是是个数值类型啊。能不能不能,为什么不能,为什么不能用等三个等来判断A是不是一个数值类型,比如说老师你就写个怎么等于三呗。关键是我现在等于三,我有可能等于什么,是不是等于四啊?
17:02
对不对,所以你数值类型不能用这种方式对吧?OK,那我们只能用什么胎,那也就是说竖直。嗯,来看一下。现大家看过了是吧?啊,刚才看了一下指数没问题,这个比较简单啊,下面我们再来一个,再来一个啊,还有什么数值字符串,来一个硅。好,现在我怎么判断。A。后面写什么?等不等于什么东西,死距是不写什么小写大写小写啊,它那个类型,它的这里面都写的什么小写的,来我们来看一下现在是什么是处,假设我把它写成大写。
18:02
什么,是不是?也就是说这个返回是不是它已经设计好了呀。那不懂啊,它已经在引擎里面设计好了,所以啊就固定了下面还有什么类型。还有什么还玻璃来一个什么处type of a等不等于。行吧。这么串。好,我们来看一下走是不是也是做啊,没什么问题啊,那也就是说大家看到我们还有一个啊,还有一个类型,还有什么类型,那是吧,那现在我用type能看到吗?能不能,那也就是说现在我要type返回的是什么?还记得不是吗?
19:01
对吧,来我们来看一下。诶,我的电脑是咋的。刷了几次他就没法刷了,真的。我们先开了吧。那那好了,那也就是说我用table能判断这个浪吗?能不能判断这个类型,不能。对吧,那我到底怎么判断呢?那我应该用什么呢?那我应该我我怎么知道A是不是个浪子呢。对,就全等,为什么可以用全等?其实你最后发现能用全等的来判断类型呢,只有两种,一种是按揭方案的,一种是什么?那为什么?其实非常简单,就是这两个类型它只有什么一个值。
20:01
能不能理解来是吧,那我们type of能判断哪些了?And find的数值还是什么?是符串,还有什么是不是布尔值啊不尔值题吧,没问题,好,这是我们的基本类型,下面我们来看一下,那另外一个类型叫对象类型。那我先来一个啊,我写一个特别的。我写个特别的,我把这些都都去了啊。住了吧。看这里我来一个对象,这可以写吧,啊,我再来一个,哎,我我这么整啊,我来一个B吧。这里面是写一个B1,这我创建了一个什么,是不是对象,好对象,接着我来一个B2,我搞一个,这我创你个什么数组,接着呢,我来一个来一个一来一个ABC啊,我再来个这个,我再来个这个。
21:09
可不可以啊,这是一个数字,这是一个字符串,那这是一个什么类型的数据呢?一定要看准数据类型,我跟大家说,你连数据类型都不知道,你没法操作。这是个什么?也就是我数组里面第三个元素是什么类型,什么东西。不知道。啊,不知道,我们先放着好吧,我们先放着啊,下面我再来一个B3是什么,是不是函数啊啊,OK,第三啊,我随便写一个啊。可以吧,好,现在我们来看啊,这是这整体是一个什么东西。这个整体它是一个对象没问题是吧,是一个对象,而这个B2的值是个什么数组,B3的值是个什么函数,那现在我们是不是需要去区别这三个类型。
22:14
对吧,用什么来区别呢。刚才我们说过了,对吧,Be,什么东西,什么object对吧?这应该返回什么值。的结果是一个什么?不是吧,他的意思是什么,你说一下这个的意思,我找个人说一下啊。那个谢天齐,你们班长首先得找一下班长。你说一下翻译过来是一个什么样的意思,他在判断什么东西?
23:03
不知道啊,你们讲过吗?讲好,首先翻译一下,咱咱咱简单来说,先翻译一下什么意思,是不是实力的意思。是吧啊,Of是谁哪个类型的实例,也就是说它左边是不是是一个A啊,我用A来表达,右边是不是一个B啊?是不是也是A什么BA,那翻译过来怎么翻译?A是不是B类型的什么实例,那也就是说B应该是一个构造函数。因为在JS里面类型是通过构图函数来去表达的吗?能不能懂我们这个是不是构图函数。嗯,我也这个知道吗。不知道疯了,你六一个是不是平常可以这么做,那说明这个哦,这个是个什么构造函数。
24:11
是吧,是的是的啊啊,因为我现在也不知道大家状况啊,所以有时候如果我说的东西大家不太懂,大家要说啊,你得说好我了这个B1这个左边的这个应该是个什么实例对象对不对,那也就是说判断这个B1是不是这个构造函数类型的什么实例,那我B1是不是我这个实例,是的吧,是的,那就应该返回什么处。对不对,好,我再写一个,我再写一个ber。是什么?那也就说白了,这B1是一个数组吗?是,那不是数组,是不是瑞的实力啊,因为瑞的实力是不是就是我们平常说的数组啊。
25:09
也就是说,现在应该访问什么,是不是?能理解不来,好,那下面我们我想现在我想判断BR的类型怎么办?我想判断B的值的类型,也是判断它的类型。我怎么写B一点B2是吧,D是Y是吧,好,我再写一个。看到be大家跟着节奏走啊,你要不想你就断偏了object。好,现在应该输出什么。
26:00
第一个数,第二个也是吗?也是数来,我们先来去稍微的看一下,看看是不是这样的是吧,先看一下呗。我拉开一点。前面是true false,后面是两个two对吧?对的,好了没问题,那下面我们来看另外一个,我想去看第三代词的类型怎么办?怎么写第一点,第三谁方。是吧,好,那我再写一个B1B3OBJECT应该是什么?是不是两个啊,尤其是价格,你要知道,那怎么解释这句话。怎么解释这句话,怎么怎么解释?说白了就是我们刚才说的函数也是对象,函数是不是一种特别对象,那是不是对象是对象,是不是就是object。
27:13
About that。啊,OK,这个也是没有太大问题的是吧。那也就是说我们去判断一个对象的类型用什么关键字。是不是可以判断。对吧,啊,这个没有什么太大问题,应该是对吧,好,那我函数其实还有一种判断方式,我要判断一个函数,还有一种方式用table。看看B一点B3返回什么。首先等字符串对吧,字符串的值是什么向,那我怎么怎么来写呢?等等于方现应该现在应该是个什么,是不是应该是个处啊对吧?来我们来看一下,看看是不是。
28:16
对吧,啊,没有太大问题,那我在这里面打印一个分割线,到时候下课以后大家自己能够看的清楚一点啊。可以好一点是吧,好来那做完这些东西以后呢,我要做一些特别的。啊,最特别的,我现在呢,想去执行这个函数,刚刚说过了。这个我们怎么看一个数据类型,大家看啊,我怎么知道这个第三个元素是什么类型呢。是吧,这是点logo,有人说老师我从来没这么用过,你们一般怎么用啊,你们是不是一般点logo加括号啊,啊,这是一个代码模板啊,这是一个代码模板,也就是说写个它大家看右侧不是在说提示什么。
29:06
CL语句吗?对吧,啊,来看着我啊,我怎么样去判断它的类型,第三个元素类型你告诉我。怎么呢?那首先我得找到第三个元素吧。是不是怎么找B一点B2怎么写这个很关键的中括号什么啊,因为第三个元素嘛,接着我的估计应该是个什么,你你在想啊,RL给后面能加括号调用的左边肯定是个什么,是不是函数。我完全可以,怎么办呢?是不是type可不可以,那它的值应该是个什么值,方显字符串,来来,我把它这里面看好像呢,你说老师这这没看到字符串啊,没关系,你在这里面写个什么等等于。
30:09
是。对吧,他应该返还什么处。是吧,好,那我能不能这么写啊,大家看着玩,我能不能这么写。估计我这边写的有的同学就蒙圈了,就觉得太不好看来随便搞一个四。他。能不能来,你不要被左边的这种比较特别的这种表达所迷惑了,你知不知道左边我得到的是个什么类型的数据。是不是函数啊,既然是函数,函数特点是什么?是不是可以执行调用?怎么执行调用一个函数很简单,加括号。好,这个事情我要说两个方面,第一个方面,假设你手里拿着一个表达式。
31:06
对吧,拿着一个表示是,如果你已经知道它是一个函数了,那你是不是加括号就可以执行对吧?好反过来说,别人写了一个表达式啊,右边加了括号,你就能推断出来这个表达式的值应该是个什么类型函数,那这个是不是正反方向你都应该搞清楚啊。其实很简单,就是看你有没有加小括号,大家现在回头去看一下你就知道。都是同样一个道理。没问题吧,啊,就看有没有小花啊好。来啊,我再跟大家整一个,看着我我我能不能一个function。可不可以,可以吧,好可以是吧,可以接着啊,我再接着我我再搞一个,我看我看一下大家能不能搞清楚啊呃,我就来我吧,我最终想去输出他。
32:14
啊,这个要想清楚啊,我最终想把这个输出出来对不对,那你看我该怎么调,现在大家想啊,B一点B3。写什么函数呢?你就先看怎么用,就看它是什么类型的值,是不是函数,那我加什么括号,现在我得到什么了,我是不是得到它了,那它怎么办,再来括号。是吧?那现在我得到什么?是不是个这个字符串?我的目标已经很近了,我该怎么办?
33:02
是不是输出啊。我跟大家,大家不要拘泥于看这个表面现象,你要看的是什么,你得到的是什么类型的数据,你才能确定下一步你怎么操作。来,我们来看一下是不是啊,有的说不是就完蛋了。是吧,嗯。好,那其实现在我们就比较明确了啊,基本上我们这一段我们就讲完了,我们再来回过来看一下我们的分类呢,主要两个类型,一个是基本类型,一个是叫对象类型。也基本类型呢,有时候称为什呢子类型啊,对象类型有时候称为什么引用类型啊,基本类型呢,有这么五类,大家应该知道,尤其是下面的这两类。
34:00
啊,尤其是下面这两类,上面的这三个大家都很清楚,因为生活中是有这种类型的,对不对,那生活中它是没有这两个东西的。能不能理解啊,好,而对象类型本质上其实就一类。都是我们健康对吧?但为什么我们还要说三例呢?因为是不是有两种特别的对象啊,这两种特别对象我们是不是用的特别多。一个是函数,一个什么数组?那你跟别人表达的时候,函数是什么东西啊?是不是一种特别的对象啊,它特别在哪啊,可以执行,那对象能执行吗?也就是说大家看着啊,有人说老师你不在执行吗?就看到这里,你说我们举个例子啊。B1,这是一个什么类型的数据,是不是我们这个对象,有人说有人可能就来就说老师你这不在执行B1吗?这是在执行第一吗?不是,这在执行谁呀?第三是不是所对应的值这个函数啊,也就是说执行的是不是函数,对象能执行吗?不能,对象用来干嘛呢?存数据的那函数它其实也是存的数据,只是它存的数据跟我们一般的数据不一样。
35:27
因为他存的是不是代码数据啊。能懂吧,是不是代码才能执行,你偏说你一个三能执行吗?不能。能不能理解啊,大家把这些最基本的概念给他搞清楚。好,还有一个就是宿主,宿主也是一类特别的对象,它特别的啦。是不是它是不是有序的数据有序的话,是不是通过下面来操作的,那对象有序吗?没有。
36:02
啊,这说的是数据类型,另外一个呢,就是它的类型的判断啊,有三种,一个是table,一个是一个是等等,先说它吧,这比较简单。它用来判断什么呢?对象的距离类形,也就是说啊,我的这一个B啊,这个B2吧,它首先得说肯定是个对象没问题是吧,但是它具体是个什么类型的对象呢?我们是不是用instant来判断他们的类型?能理解吧?这个要搞清楚,这里面写了一个非常重要的概念,叫具体类型。因为所有的对象都是objective。但是有的时候我只知道我不这个人行吗?不行,譬如说我有的时候我得知道它是,它假设是个数组,因为数组的操作方式和对象的操作方式一样吗?不一样。
37:01
所以我需要知道具体类型。就好像说你首先得说你是一个动物,对吧,如果我就知道你是个动物,我把你当动物使,那不行吗?对吧,那我得知道,哎,你不是一个一般的动物,你是个人。能不能理解啊,能行加。啊,这个呢,其实是比较简洁的,下面table table呢基本上能判断I find的数值字符串和不值,其实还有一个是不是方形。是吧,啊,函数也得判断,因为它函数不专门反馈的方形嘛。没问题吧,好来,他不能判断什么,这里面要强调一个东西。啊,他不能判断两个东西,那object也他们俩能区开了吗?
38:01
能不能有对象和让它能区别开来吗?不能,因为都放在同一个类型嘛。所以区别不开来。能不理解?是吧,是还有一个。还有一个判断不出来的是什么?波波什么呢?能看到吗?也就是说现在假设啊,我来做一件事情,大家看到我啊,我这个地方来做一件事。Type of啊,B一点B2,它返回的是什么?是什么?这个一定要知道,在经常面试,就是笔试的时候经常考。是不是object呀,对吧?啊OK,来我们来去看一下,看看它是不是啊,这里面为了能够去一眼看出来啊,我这里面加一它是不是一眼就看出来了。
39:05
哎,这个输出指定多个参数,这个用过吗?啊,我来看一下大家看啊。是什么不对啊?哪个啊,对对对对对,我看看到上面去了。是不这了吧,那也就是说我还能区别对象和数组用type来判断吗?能不能,不能,其实大家要重点记住什么,记住这些特别的,为什么记住特别的,因为笔试考试的时候他肯定不会考一般的。一般的大家都懂,能理解吧,这特别的情况是不是容易搞错呀?啊,这两个大家一定要搞清楚啊。Okay。好,那这个部分呢,我们就先讲到这里啊,我把这个呢给大家发一发,大家看一看啊看一下。
40:07
因为第一次给大家上课,也不知道大家是什么样的情况啊,这个怎么这么背光啊。你们李莎老师就就就不跟你们抱怨嘛,性格太好,受不了,我的性格有点差。这完全都应该应该是搞搞搞个窗帘搞一下。嗯。
我来说两句