发表于: 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版本之后,已经被弃用了。
on()的特点:是以上三种方法的统一。可以使用一个方法,设置不同参数值来实现上述三种方法的功能。简化了jQuery代码库,并删除一个界别的重定向。
差别:
.bind()是直接绑定在元素上
.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。
.delegate()则是更精确的小范围使用事件代理,性能优于.live()
.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制
学习百度答案知识点后自己的理解:
JQ接触点击事件后,查到的大部分是 on()的方法,所以对前三种的认知可以说简直没有,on()方法也是前三种慢慢进化而来,可以使用on()就可以实现前三种各自的功能。
今天任务6-10只弄了一点细节,就去看有限状态机了
明天计划的事情
1.直播录制小课堂,查看小课堂相关流程。处理前期后期工作
2.弄好小课堂在弄 任务6-10
遇到的困难
对有限状态机有些遗忘了,一些必要的组成、功能、代码等等。第一次也不太知道如何讲解。
收获
以往知识的一些巩固
评论