发表于: 2019-12-19 00:04:36

1 1522


今天完成的事情

        1.原生JS的阅读

        JS作用域、JavaScript 输出、JavaScript 数据类型、JavaScript 事件

学到的新知识点:在函数中函数外各 var 声明一个变量 A。是两个不同的变量,作用域也不同。

变量在函数内声明创建,变量就为局部作用域。变量在函数外定义,就为全局变量。

局部变量:只能在函数有效。全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 

变量生命周期:局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。

        


        2.JS3深度思考

1.JS有哪些数据类型和常用方法?

自己的答案:

 1.Number

 2.String

3.Underfined

 4.Boolean

 5.Null

 6.Object

百度的答案:

 1.Number(包括整型和浮点型)

 2.String(字符串)

3.Underfined(指的就是变量创建后但是没有赋值,而变量的默认值就 是undefined)

 4.Boolean(布尔值)

 5.Null(空对象)

 6.Object(对象)

1、Number

1.Number类型Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。NaN:非数字类型。特点:① 涉及到的 任何关于NaN的操作,都会返回NaN   ② NaN不等于自身。isNaN() 函数用于检查其参数是否是非数字值。

2、String类型

String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号("")和单引号('')来表示。但是要和前面一致,保持代码规范,引号中的字符串可以是任何内容,文字、英文、数字,String 对象的 length 属性声明了该字符串中的字符数.

3、Underfined 

只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。

4、Boolean布尔值

Boolean类型是Javascript中使用最多的一种类型,该类型只有两个值,true和false。

5、Null(空对象)

Null是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑角度来看,null表示一个空对象指针。而这也正是使用typeof操作符检测null值会返回"object"的原因。

6、Object类型

Jvascript中的对象其实就是一组功能和数据的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而Objert类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。

学习百度答案知识点后自己的理解:

        此问题就是任务1中开始学习的《javascript数据类型》,不过在任务1中没涉及到使用全部类型,加上知识点抽象不好理解,所以不是很掌握。经今晚学习了解后。总结如下

1.数值(number):整数和小数(比如1和3.14)较常用

2.字符串(string):文本(比如Hello World)。

3.布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)

4.undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值

5.null:表示空值,即此处的值为空。

6.对象(object):各种值组成的集合。

         通常,数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值,即它们是最基本的数据类型,不能再细分了。对象则称为合成类型(complex type)的值,因为一个对象往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器。至于undefined和null,一般将它们看成两个特殊值。对象是最复杂的数据类型,又可以分成三个子类型。狭义的对象和数组是两种不同的数据组合方式,除非特别声明,本教程的”对象“都特指狭义的对象。函数其实是处理数据的方法,JavaScript 把它当成一种数据类型,可以赋值给变量,这为编程带来了很大的灵活性,也为 JavaScript 的“函数式编程”奠定了基础。

        在任务1中应该是接触了数值(number)、字符串(string)、布尔值(boolean),但对除了数值之外的五种,还是理解不到位。


2.jQuery中.bind() .live() .delegate() .on()的区别

自己的答案:

        不知道,自己在任务过程中JS 2-4大部分使用了js原生,只有任务4开始中的几个跳转页面开始学习JQ并使用,深度思考中用得最多的是  .on() 。on()方法绑定事件处理程序到当前选定的jQuery对象中的元素。


百度的答案:       

       bind()的特点:直接绑定在已经存在的元素上,但是对在它执行完后动态添加的那些元素上不起作用。因为直接绑定在具体的元素上,响应事件及时,它是出现最早的一种绑定事件的方法。这种方法很浪费资源,引起性能问题,因为它要匹配选择器中的每一项并且挨个设置相同的事件处理程序。如果在页面加载前要处理添加事件的话,会影响加载效率的。在jquery1.7版本以前比较受推崇。在jquery1.7版本之后,官方推荐使用on()方法代替。在jquery3.0版本之后,已经删除该方法。

        live()的特点:与bind()的实现原理却不同。live()方法附加事件处理程序在document上通过冒泡来关联匹配到相应的元素和事件信息。对新添加的元素依然有效。不需要在每个元素上去绑定事件,而只在document上绑定一次就可以了。可以在document ready之前就可以绑定那些需要的事件。但是jquery1.9版本之后,已经被弃用了。

        delegate()方法的特点:更精确的小范围使用事件代理,性能优于live()。它可以自由选择附加的选择器和事件信息的位置,把事件绑定到具体元素的上一级较稳定(不会动态地添加或者删除、变化)的元素上,缩短了事件冒泡的路径。同样对新添加的元素依然有效。在jquery3.0版本之后,已经删除该方法。

        on()的特点:是以上三种方法的统一。可以使用一个方法,设置不同参数值来实现上述三种方法的功能。简化了jQuery代码库,并删除一个界别的重定向。

差别:

.bind()是直接绑定在元素上

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。

.delegate()则是更精确的小范围使用事件代理,性能优于.live()

.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制


学习百度答案知识点后自己的理解:

        JQ接触点击事件后,查到的大部分是 on()的方法,所以对前三种的认知可以说简直没有,on()方法也是前三种慢慢进化而来,可以使用on()就可以实现前三种各自的功能。


今天任务6-10只弄了一点细节,就去看有限状态机了


明天计划的事情

        1.直播录制小课堂,查看小课堂相关流程。处理前期后期工作

        2.弄好小课堂在弄 任务6-10


遇到的困难

        对有限状态机有些遗忘了,一些必要的组成、功能、代码等等。第一次也不太知道如何讲解。


收获

        以往知识的一些巩固


返回列表 返回列表
评论

    分享到