随笔分类 -  JS笔记

摘要:获取时间的API,月份(getMonths();)和周几(getDay());比较特殊,月份是从0开始的,即一月份是0,周是从周日开始,周日是0; 例子如下: getTimes() ;是从1970年到当前时间戳的毫秒数; getUTCHours();格林威治时间的小时; new Date(),获取到 阅读全文
posted @ 2018-06-19 22:33 bibiguo
摘要:元素样式代码; 通过 1、clientWidth 2、offsetWidth 3、scrollWidth 获取元素的最终样式; offsetTop和offsetLeft 获取元素的相对于定位参考的父级元素的定位值获取; Html文档的每个元素的样式都存在compute这个对象内;可以通过getCom 阅读全文
posted @ 2018-06-19 21:26 bibiguo
摘要:元素对象.classList 属性可以读取元素对象的类名,classList是一个伪数组,支持的比较常用的方法有: add; 对元素添加一个类名; contains:查看classList中是否有该类名,通过返回值判断; forEach;遍历 remove:移除一个类名; toggle:有这个类名就 阅读全文
posted @ 2018-06-19 15:59 bibiguo
摘要:上述例子就是回调自己;会导致循环,b只能在内部执行,也就是内部回调自己,全局并没有b这个变量; b是a作用域下的函数b; 回调的意思是当满足一个条件的时候,接着的调用动作叫回调;回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。 例如:function A有一个参数func 阅读全文
posted @ 2018-06-19 15:43 bibiguo
摘要:requestAnimationFrame(),一个动画定时器的API,是HTML5新推出的功能,怎么理解HTML5新推出的功能这个概念呢, JS是调用WEB文档结构,实现动态WEB文档的一门语言; HTML是文档,JS通过DOM调用、操作HTML文档, 所以requestAnimationFram 阅读全文
posted @ 2018-06-19 14:37 bibiguo
摘要:为什么会有setTimeout代替setInterval的需求; setInterval,每隔一段时间往队列里塞一个可执行函数;当setInterval设置的时间间隔小于函数执行的事件,或者因为电脑内存等原因,导致处理卡机了,事件超过了,但是上一个函数没执行完,setInterval就往队列里面再塞 阅读全文
posted @ 2018-06-19 12:58 bibiguo
摘要:JS自带的定时器函数有两个: setInterval (函数名, 延迟毫秒) ; 指定某个函数重复执行; setTimeout(函数名,延迟毫秒);指定某个函数多少秒后只执行一次; setTimeout举例: setInterval举例: 定时器函数执行时传的参数必须是函数,可以是return的函数 阅读全文
posted @ 2018-06-18 11:48 bibiguo
摘要:forin也是一个遍历的API,但是不是遍历数组,也不是字符串,而是对象; forin的作用是遍历对象的所有属性,书写格式如下: 回顾一个知识点: 访问对象的属性一般用 . 操作,即 对象名.属性名,但是绝大多数的访问对象属性的这种写法都可以用中括号来代替,但是中括号里的值要是一个字符串才行, 比如 阅读全文
posted @ 2018-06-14 23:36 bibiguo
摘要:遍历的意思就是挨个查找出来, 遍历数组的方法有forEach(); 数组遍历的API1 :数组.forEach(value,index,array);是一个传参类型是函数的已经写好的API,返回值为undefined;而且这个函数需要有3个形参,分别代表 实际上forEach里面的函数也是执行了nA 阅读全文
posted @ 2018-06-14 18:14 bibiguo
摘要:数组和字符串的区别: 数组可以通过下标,对指定下标数据进行重新赋值,字符串不可以; 数组可以通过修改length修改数组的数据,字符串不可以; 数组是引用数据类型: API1:push、pop push、pop修改原数组的值; push:从数组的后面添加一个值;一次可以塞多个值,逗号隔开就可以了; 阅读全文
posted @ 2018-06-13 22:53 bibiguo
摘要:大多数API对原变量的值都不会修改,而是返回一个新值。 一、API1 : 获取字符串长度属性 字符串 是基础数据类型,但是字符串是有length属性的。 但是string 的length属性并不是直接存在 这个字符串数据里面,因为字符串数据是一个基础数据类型,基础数据类型在JS里面是不能带属性的。 阅读全文
posted @ 2018-06-13 21:49 bibiguo
摘要:JS里面万物皆对象,基础数据类型的数据类型虽然从严格意义上来说不是对象,但是从广泛的语言设计的原理上来理解,其实也是对象。 JS中有一种叫包装对象的方法,可以通过该方法将基础数据类型变成对象。 比如 可以看到通过new number () 这个构造函数函数名用new 关键字,是一个构造对象的关键字, 阅读全文
posted @ 2018-06-13 18:48 bibiguo
摘要:API1: isNaN(); 判断数据是否是NaN; "15"经过Number转换后,用isNaN判断,结果是false; 也可以改写成: NaN还有一个诡异的特点,即NaN和自己都不相等 API2: parseInt () 强制取整,parseFloat () ;强制取数(可以取到小数); 1、p 阅读全文
posted @ 2018-06-12 18:52 bibiguo
摘要:call 方法的用法是可以改变this指向。 call是第一个实参是this重指向的对象,后面的实参和形参才形成对应关系 apply 是以数组的方式和函数形参对应,即apply的参数只有2个,第一个是重指向后this指向的对象。第二个是数组,通过数组和形参一一对应。和call的作用是一样的,只是格式 阅读全文
posted @ 2018-06-12 16:31 bibiguo
摘要:API是JS自带的预先已经写好的方法,也就是函数,当我们去了解一个方法或者函数的时候,应该主要关注它的三个特性(功能、参数、返回); 比如: JS里面这种方法很多。 今天我们要说的是call 、apply、和bind 这3个方法 正常来说,this指向一般是指向执行这个函数的对象,即谁执行的函数,t 阅读全文
posted @ 2018-06-11 23:06 bibiguo
摘要:在说闭包之前,需要了解一个概念。 即JS的内存回收机制,因为闭包可以说是对JS内存回收的空制。 内存回收机制: 所有程序代码,都是通过变量字符(var 和 function 带的名字)去利用内存去存储数据,然后通过CPU调用内存的数据去运行的, 比如,浏览器打开一个网站,当解析执行到<script> 阅读全文
posted @ 2018-06-10 17:37 bibiguo
摘要:定义和执行都是对于作用域而言的,作用域是按层级划分的。 举个例子: 从例子可以看到全局作用域因为script标签而创造,接着全局作用域里面的子作用域通过函数去创建。 代码解析顺序: 所有代码在本作用域里面都是先定义后执行,执行的结果如果是单纯的变量赋值,那就赋值完就结束了。如果执行的结果如果是函数, 阅读全文
posted @ 2018-06-09 21:51 bibiguo
摘要:一个document(web文档) JS最大的作用域是script标签之间 函数执行的时候会产生新的作用域 定义在script标签里的叫全局变量,定义在函数里面的叫局部变量 作用域链的概念: 查找变量:在某一个函数作用域内查找某一个变量,当这个函数作用域内没有该变量时,会往他的父级作用域去查找,以此 阅读全文
posted @ 2018-06-07 18:45 bibiguo
摘要:每个函数在执行的时候都会return一个值,可以用关键字return去设定。 当不设定的时候就会默认return一个undefined; 举例 JS自带的函数也是有返回值的,只是JS自带的函数一般都是功能函数,功能函数很多时候我们不去关注,但是不去关注也是存在的,比如。 当设定return的值时,函 阅读全文
posted @ 2018-06-05 19:03 bibiguo
摘要:函数的参数分为形参,实参,不定参 形参:形式参数、就是定义函数的时候,定义函数括号里的参数(变量名),相当于在函数这个作用域里面定义了一个变量 实参:实际参数、就是函数执行的时候,执行函数的括号里的实际参数(数据),这就叫做实参 举例: 函数调用执行,传参的时候,可以引用变量 比如 实参还可以是函数 阅读全文
posted @ 2018-06-04 02:07 bibiguo