发表于: 2019-08-21 22:51:41

1 769


【今天完成的事情】

一  任务1深度思考

        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):整数和小数(比如13.14)较常用

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

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

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

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

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

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

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

        

        2.定时器有哪些用法?

自己的答案:

        经过任务1的了解,定时器应该有两种。setTimeout和setInterval。setTimeout定时执行事件,setInterval定时重复执行事件,任务1中使用的就是setInterval

百度的答案

        

在js语言中,有两种定时器。setTimeout()和setInterval()。有了定时器,我们可以实现很多效果。

一次性定时器(setTimeout()):仅在指定的时间后触发一次

定期定时器(setInterval()):定期触发

语法:

setTimeout(要执行的函数,时间),时间的单位是毫秒。

setInterval(要执行的函数,时间),时间的单位是毫秒。

常见问题

在按钮中使用定时器时,多次点击按钮,定时器的执行时间会变短。

解决方案

使用clearInterval()或 clearTimeout() 清除定时器

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

        定时器种类和自己想的一样。用法也是差不多,只是没那么全面。在查询中发现setInterval定时器有BUG,自己去试了试任务1多点了几次“开始闪”按钮,果然点得越多,闪得越快。其实从逻辑上来想也算不上BUG,因为setInterval定时器设置了1秒重复执行事件(假设),多点“开始闪”按钮就会产生多个1秒重复执行事件。所以就会越来越快。这看似bug的问题怎么解决呢,解决方案是使用clearInterval()或 clearTimeout() 清除定时器。不过在任务1中自己还不知道应该放在那一行。233333,先继续其他的深度思考。

   

     3.ID和Class有什么区别?

自己的答案:

        ID和class的第一次认识是在css任务中,相比来说是认识最早的了,在css任务中最常用到的是class,ID使用次数不到两个巴掌。但对其也有一定的理解。ID类似与钥匙与锁,一个div里只能有一个id。则class不然,类似与公用的,敲写了样式之后,在html中有符合的地方都是可以使用。可能还没理解到ID的好处吧,所以才用得少。

百度的答案


一个Class是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方就是剧本:一个Class可以定义剧本中每个人物的故事线,你可以通过CSS, javascript等来使用这个类。因此你可以在一个页面上使用class="Frodo" ,class="Gandalf",来区分不同的故事线。还有一点非常重要的是你可以在一个文档中使用任意次数的Class。

      至于 ID,通常用于定义页面上一个仅出现一次的标记。在对页面排版进行结构化布 局时(比如说通常一个页面都是由一个页眉,一个报头< masthead>,一个内容区域和一个页脚等组成),一般使用ID比较理想,因为一个ID在一个文档中只能被使用 一次。而这些元素在同一页面中很少会出现大于一次的情况。

      id 属性可用作链接锚(link anchor),通过 JavaScript(HTML DOM)或通过 CSS 为带有指定 id 的元素改变或添加样式。

var demo = document.getElementById('ID名称');

var demo = document.getElementsByClassName('类名称');

class是设置标签的类,用于指定元素属于何种样式的类。在CSS样式中以小写的“点”及“.”来命名

id是设置标签的标识。用于定义一个元素的独特的样式。在CSS样式定义的时候 以“#”来开头命名id名称

class可以重复,id是唯一的

ID和CLASS的优先级

通过继承来的属性id的优先级高于class

一个元素同时应用多个class,后定义的优先(即近者优先),加上!important者最优先!


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

        大致相同,新知道知识点:ID和CLASS有优先级,通过继承来的属性id的优先级高于class。



        4.F12Console的用法,以及如何Debug程序

自己的答案

       F12Console的用法在css任务中也涉及了,只不过用法没有JS中的那么多,在css中常用来查看页面效果,增减css属性调试样式效果。在JS中F12检查BUG应该涉及到了断点调试以及console.log(***)调试,此方法让我在任务1中很容易找到BUG,别的方法暂时不知。

百度的答案

        console的常见用法

console.log 用于输出普通信息

 console.info 用于输出提示性信息

console.error用于输出错误信息

console.warn用于输出警示信息

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

        额。。没想到console的使用方法还有那么多,需要去理解每一用法的意义,并且在以后的JS任务中应该会涉及。



        5.        随机的出现一种颜色,随机的性能怎么样?

自己的答案

        额。。不知道

百度的答案

         相信大家都知道在前端的颜色表示方式有多种,一种是以3个或6个十六进制的数子表示,一种是RGB的数字形式,还有一种是直接以颜色的英文来表示。这三种都是不支持透明色的。所以还有RGBA的表式方式,在RGB的的基础上加入了Alpha透明,使网页可以展现更加复杂绚丽的效果。

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

        每个事件的敲写方式不一,利用随机抽取颜色的例子来说明,我在JS任务1中百度例子,看到不同的不低于10种。随机的性能应该就是每个事件例子的完美程度吧,BUG大不大等等。



        6.        JS中基本类型和引用类型分别指的的是什么?有何区别?

自己的答案

        虽然在任务1的相关知识点看过,但是要我回答。。。还是不知道

百度的答案

两种类型:

ECMAScript变量包含两种不同类型的值:基本类型值、引用类型值;

基本类型值:指的是保存在栈内存中的简单数据段;

引用类型值:指的是那些保存在堆内存中的对象,意思是,变量中保存的实际上只是一个指针,这个指针执行内存中的另一个位置,由该位置保存对象;

两种访问方式:

4.  基本类型值:按值访问,操作的是他们实际保存的值;

5.  引用类型值:按引用访问,当查询时,我们需要先从栈中读取内存地址,然后再顺藤摸瓜地找到保存在堆内存中的值;


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

       任务1开始时也不是没看,主要是看不懂,现在再度看了一遍,感觉还是不太明白,因为感觉和任务1关系不大啊,套用不到任务1,联系不上相关联意思



        7.        简述JS中执行环境与作用域的关系

自己的答案

        不懂

百度的答案

         JS中,每个执行环境都有一个与之关联的变量对象。环境中定义的所有变量和函数都保存在这个对象中。每个函数都有自己的执行环境。当执行流进入函数时,函数的环境就被推入一个栈中。在函数执行之后,栈将其环境弹出,把控制权返回到当前的执行环境。当代码在一个环境中执行时,会创建变量对象的一个作用域链(上下文),作用域链的用途是保证对执行环境有权访问的所有变量和函数有序访问。


        执行环境:所有JavaScript代码都是在一个执行环境中被执行的。执行环境是一个概念,一种机制,用来完成JavaScript运行时在作用域、生存期等方面的处理,它定义了变量或函数有权访问的其他数据(包含了外部数据),决定他们各自的行为。

       全局执行环境: 全局环境是最外围的一个执行环境,根据ECMAScript实现所在的宿主环境不同,表示执行环境的对象也不一样,在web中,全局执行环境被认为是window对象。

       函数执行环境:每个函数都有自己的执行环境,当执行进入一个函数时,函数的执行环境就会被推入一个执行环境栈的顶部并获取执行权。当这个函数执行完毕,它的执行环境又从这个栈的顶部被删除,并把执行权并还给之前执行环境。这就是ECMAScript程序中的执行流。

       变量对象:每个执行环境都有一个变量对象与之关联,执行环境中定义的所有变量及函数(只包含在当前函数内定义的函数,局部变量)都保存在这个对象中,我们编写的代码无法直接访问这个对象,但解析器在处理数据时会在后台使用它。(变量对象就是作用域为该执行环境的函数,变量的集合对象)。

       作用域:变量或方法有访问权限的代码空间,即变量或函数起作用的区域。

       作用域链:由当前环境栈中对应的变量对象组成。作用域的用途,是保证对执行环境有权访问的所有变量和函数的有序访问,作用域前端,始终是当前执行的代码所在的环境对应的变量对象,下一变量对象来自包含(外部)环境,而再下一变量对象则来自下一包含环境,一直延续到全局执行环境。


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

        问题7与问题6都出现了一个“”字,应该有所关联,但现在还不是很清楚这两问题的答案。


  任务2的前期准备

        手机下载“桌游精灵”

        电脑下载任务资源“桌游精灵”

        手机查看了桌游精灵APP,看看大概是怎么样的



【明天计划的事情】

        进阶JS任务2,查看学习开始要求的知识点。


【遇到的困难】

        1.问题2产生的BUG,暂时不知道代码放在哪行。

        2.问题6、问题7暂理解不到位,应该是还学不到那一层次。


【收获】

        今晚以为完成了深度思考还能看看任务2的知识点,但是完成了任务1的深度思考就已经十点半了。遇到的困难没有那么多,但是却也是很重要的问题。收获也一样,从深度思考发掘的问题是对任务的加强理解。



返回列表 返回列表
评论

    分享到