JS小点
文章平均质量分 55
sliiva
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
作用域(链)
1、作用域:JavaScript里的作用域分为:全局作用域、函数作用域、块级作用域全局作用域:在全局对象(window)中声明的变量和函数具有全局作用域,程序的所有部位都可见。函数作用域:在一个函数内部声明的变量和函数具有局部作用域,只在函数内部可见,若在函数外部访问会返回undefined。这里注意一点:带参的函数,参数列表中的参数也相当于是声明了的局部变量,在函数内部不需要再次声明,直接调用即...原创 2018-04-23 22:12:21 · 165 阅读 · 1 评论 -
let VS const VS var
let const var 都是用来声明变量的,let const是es6提出的,为了更好地写代码,在调试的时候尽早发现错误。它们具备一些新的语法知识。先回忆一下var的语法知识:1、变量提升,使用var声明的变量会声明语句提升到当前作用域的顶部,赋值留在原地2、具有函树作用域,全局作用域。再看下let:1、块级作用域,只影响一个包含块儿。2、不具有变量提升,且若在一...原创 2018-08-12 08:21:24 · 368 阅读 · 0 评论 -
函数的参数作用域
注意理解:1、var x = 1;function f(x, y = x) { console.log(y); console.log(x);//undefined}f(2) // 22、let x = 1;function f(y = x) { let x = 2; console.log(y);}f() // 13、function f(...转载 2018-08-12 19:39:24 · 4136 阅读 · 3 评论 -
原生js写继承
js中实现继承的方法:假设现在存在一个构造函数想继承另一个构造函数。function Friend(){ this.friend="xiaohua";}function Person(name,age){ this.name=name; this.age=age; this.sayName=function(){ console.log("he...转载 2018-08-25 21:53:53 · 1250 阅读 · 0 评论 -
匿名函数的this指向
var obj={ x:1, xyz:function(){ with(this){ function con(){ console.log(x); console.log(this.x); } var x=2;//因为是在obj对象上下文中执行的,所以这里对x的初始化,覆盖了上面的x:1; (fun...原创 2018-09-08 17:30:15 · 1133 阅读 · 0 评论 -
从[]==flase看js隐性转换
JS的数据类型首先,回想一下JS的类型都有什么。原始值(primitives): undefined, null, booleans, numbers,strings, symbol(es6)对象值(objects): Objectok, 这就是全部了,我们接下来看看到底发生了什么导致隐式转换如此不可捉摸。ToPrimitive在发生转换的时候,js其实都是会将操作对象转化...转载 2018-09-12 23:08:58 · 236 阅读 · 0 评论 -
循环遍历
1、最简单的for循环2、for····in····循环返回typeof为object的键名,不能直接获得键值3、for···of···本质上是调用iterator接口产生的遍历器获得键值;(1)使用for of 遍历对象,因为自己生成的对象没有iterator接口,所以在直接循环访问对象时会报错。这时可以配合使用entries()、keys()、values()返回一个遍历器...转载 2018-09-10 17:14:39 · 527 阅读 · 0 评论 -
jQuery绑定事件
现在还在使用的jQuery绑定事件的方法:on、bind(delete与live在jQuery1.7中被移出)on->off、bind->unbind1、bind(event,[data],function)bind 是使用频率较高的一种,作用就是在选择到的元素上绑定特定事件类型的监听函数,参数的含义如下:event:事件类型,如 click、change、mouse...转载 2018-09-18 08:59:30 · 480 阅读 · 0 评论 -
同样不太好懂的箭头函数this的指向
1、先来看一个例子吧:(输出什么呢?)var foo={ foo:function(){ console.log(this); }, b:()=>{console.log(this)}}foo.foo(); foo.b();答:foo.foo()//foo; foo.b()//window;第一个foo.foo()是普通函数的执行...原创 2018-09-29 18:24:12 · 251 阅读 · 0 评论 -
词法作用域、动态作用域
在看《你不知道的JavaScript》的时候更加深入的了解了一下js中的作用域,看的是很带劲儿,但是总害怕记不住,好记性不如烂笔头嘛,所以我决定稍微写一些,考虑的不太全面,以后慢慢修改。需要明确的是:事实上JavaScript并不具有动态作用域,它只有词法作用域,简单明了,但是this机制某种程度上很像动态作用域。词法作用域:是一套引擎如何寻找变量以及会在何处找到变量的规则,它是定义在词...原创 2018-10-10 16:06:58 · 582 阅读 · 0 评论 -
遍历对象
1、for...in:for...in语句以任意顺序遍历一个对象的可枚举属性。对于每个不同的属性,语句都会被执行。语法:for (var veriable in object){....}//循环时,会将对象的可枚举属性赋值给veriable,通过object[veriable]可访问属性的值2、Object.keys ():Object.keys()方法会返回一个由给定对象的自身可枚...原创 2018-08-11 19:43:58 · 696 阅读 · 0 评论 -
牛客网在线判题系统(JavaScriptV8)的使用
JavaScript作为一种弱类型的编程语言,语法和C/C++、JAVA等存在差别,但是对于大部算法题,不只是C/C++、JAVA,也依然可以使用JavaScript来实现。所以在牛客网中,如果你喜欢JavaScript这门编程语言,同时对数据结构与算法感兴趣,当然可以使用这门语言去刷编程题。 大家有没有跟我碰到过和我类似的情况,在牛客网刷编程题的时候,编译器提供的是Javascript(v...转载 2018-08-09 22:10:49 · 3475 阅读 · 0 评论 -
利用对比记忆 数组API
——参考前端大全公总号JavaScript 提供了多种新增,移除,替换数组元素的方法,但是有些会影响原来的数组;有些则不会,它是新建了一个数组。注意:区分以下两个方法的不同点:array.splice() 影响原来的数组-------------可删除array.splice(a,b)/array.splice(a)、替换array.splice(a,n,x1,x2...)、插入元素array.s...原创 2018-04-24 19:34:05 · 204 阅读 · 0 评论 -
对闭包的一点理解
1、闭包:定义在一个函数内部的函数,内部函数可以通过作用域链访问外部函数的变量,外部函数将内部函数返回,(一个函数在定义它的作用域外部被引用)使变量在函数外可见。例如:function f1(){ var n=999;//本来作用域的限制使函数外无法直接访问此变量 function f2(){ alert(n); } return f2;//将内部函数返...原创 2018-05-03 15:30:12 · 184 阅读 · 0 评论 -
匿名函数
一、函数本质:一个 封装代码段 的Function对象,函数名只是一个引用函数对象的变量 函数的创建: 3种方法 1. 声明: function 函数名(形参列表){函数体; return 返回值;} function fun和var fun都是声明/创建一个变量的意思, 何时使用参数: 只要函数步骤中必须某些数据才能正常执行时,就要...原创 2018-05-03 16:30:50 · 585 阅读 · 0 评论 -
浅谈this指向
首先this is all about context.this说白了就是找大佬,找拥有当前上下文(context)的对象(context object)。大佬可以分为六层,层数越高权力越大,this只会认最大的。第一层:世界尽头权力最小的大佬是作为备胎的存在,在普通情况下就是全局,浏览器里就是window;在use strict的情况下就是undefined。function showThis ...转载 2018-04-26 22:19:43 · 185 阅读 · 0 评论 -
对象转换原始值
再总结一下JavaScript的数据类型:原始类型和引用类型原始类型:数字、字符串、布尔值、null、undefined引用类型:不是原始类型的都是引用类型,比如:数组、函数、对象原始类型和引用类型的区别:原始值直接存放在变量之中,引用类型是在内存中的其他地方存放着数据,而在变量中放的是这片内存的地址。我们现在来具体讨论怎么将一个对象转换为原始值对象转换为布尔值:对象到布尔值的转换是非常简单的,所...原创 2018-04-28 15:22:05 · 1213 阅读 · 0 评论 -
HTMLCollection
1、是什么?它是HTML DOM对象的一个接口,这个接口包含了获取到的DOM元素集合,返回的类型是Object。 它很像数组,又不是数组,如果你想使用数组的一些方法操作这个集合,那么不好意思。 它是及时更新的,当文档中的DOM变化是,它是会随之变化的。 属性:HTMLCollection.length,返回集合当中子元素的数目。 它有自带的方法 1.HTMLCo...转载 2018-07-18 13:10:01 · 5550 阅读 · 0 评论 -
事件集合
一、Web浏览器中可能发生的事件有很多类型;DOM3级事件规定了以下几类事件: 1、 UI事件:当用户与页面上的元素发生交互时触发 2、 焦点事件:当元素获得或者失去焦点时触发 3、 鼠标事件:通过鼠标在页面上执行操作时触发 4、 滚轮事件:使用鼠标滚轮时触发 5、 文本事件:在文档中输入文本时触发 6、 键盘事件:用户通过键盘在页面上执行操作时触发...原创 2018-07-13 15:12:24 · 710 阅读 · 0 评论 -
原生js方法document.getElementsByClassName在ie8及其以下的兼容性问题
var divs = getClassNames('tabs_div' , 'div'); //找到类名为tabs_div的div元素 function getClassNames(classStr,tagName){ //判断document对象中是否包含getElementsByClassName方法 if (document.getElementsByClassNa...原创 2018-08-05 16:42:53 · 596 阅读 · 0 评论 -
从头条面试题看 JS 事件循环与 macro micro 任务队列
这里需要明白几个概念:同步任务、异步任务、task queue、microtask、macrotask同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务指的是,不进入主线程、而进入"任务队列"(task queue)的任务,只有"任务队列&q原创 2019-03-07 16:53:04 · 1028 阅读 · 0 评论
分享