javascript
文章平均质量分 60
黛梨
闭心自慎,终不失过兮.
展开
-
作用域及作用域链小结
作用域与作用域链知识小结作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天我在这里将作用域和作用域链做一个小小的总结,希望能帮到大家。一.作用域的作用:任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变原创 2016-11-16 16:48:43 · 1110 阅读 · 1 评论 -
js深度克隆和浅度克隆
“使用JavaScript深度克隆一个对象。” 这是一个出现概率很高的面试题,下面就来总结下,二者的区别以及其代码。科普一下: js一般有两种不同数据类型的值: 基本类型(包括undefined,Null,boolean,String,Number),按值传递; 引用类型(包括数组,对象),按址传递,引用类型在值传递的时候是内存中的地址。1.概念浅度克隆:基本类型为值传递,对象仍为引用传递。原创 2017-07-29 17:39:43 · 2573 阅读 · 0 评论 -
JS异步原理(事件,队列)
原文出处:https://segmentfault.com/a/1190000010913949调用栈JS执行时会形成调用栈,调用一个函数时,返回地址、参数、本地变量都会被推入栈中,如果当前正在运行的函数中调用另外一个函数,则该函数相关内容也会被推入栈顶.该函数执行完毕,则会被弹出调用栈.变量也随之弹出,由于复杂类型值存放于堆中,因此弹出的只是指针,他们的值依然在堆中,由GC决定回收.尾调用:指转载 2017-10-17 21:14:51 · 2516 阅读 · 0 评论 -
九个让js调试更简单的Console命令
今天我与大家分享一下关于console的一些知识,希望能对你有所帮助。我们都知道,现在除了一些很老版本的浏览器,大多数浏览器都自带调试功能,即使没有调试功能,也可以通过安装插件来进行补充。在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台。通过调用该console对象的一系列函数,可以在控制台中打印相关信息。console是可以接受任转载 2016-09-15 16:25:47 · 2156 阅读 · 0 评论 -
js数组方法总结
数组是在笔试中经常会出现的面试题,javascript中的数组与其他语言中的数组有些不同,为了方便之后数组的方法学习,我总结了一些数组的常用方法,以便日后学习。数组创建JavaScript中创建数组有两种方式,第一种是使用 Array 构造函数:var arr1 = new Array(); //创建一个空数组var arr2 = new Array(20); // 创建一个包含20项的数组v原创 2017-03-06 18:42:06 · 499 阅读 · 0 评论 -
动态添加和移除元素
动态添加元素是对DOM的基本操作,下面便是简单的元素添加与删除。1.创建DOM元素createElement(标签名) ,作用:创建一个节点父节点 . appendChild(新节点),作用:在父亲div中追加一个节点2.插入元素insertBefore(新节点,原有节点),在已有的元素前面插入新节点3.删除元素removeChild(节点),作用:删除一个节点代码原创 2016-07-30 17:32:44 · 963 阅读 · 0 评论 -
通用事件侦听器函数代码
Event = { //页面加载完成后 readyEvent: function(fn) { if (fn == null) { fn = document; } var oldonload = window.onload; if (typeof window.onload != 'function') {原创 2017-07-17 20:29:20 · 466 阅读 · 0 评论 -
call,apply与bind方法的区别
对于记性不是很好的本来来说,这三个方法的区别总是记不住,于是就总结篇博客,加深印象。 在说他们的不同之前,先了解了解他们的相似之处:都是用来改变函数的this对象的指向的。第一个参数都是this要指向的对象。都可以利用后续参数传参。好了现在来总结不同之处:1.call通过call方法,将其执行环境添加到第一个参数的执行环境中,简单来说,this就会指向第一个参数那个对象。var a = {原创 2017-04-24 21:28:34 · 656 阅读 · 0 评论 -
跨浏览器事件Event对象代码
虽然IE的事件对象与DOM的事件对象存在差异,但是IE事件对象中所包含的信息和能力,与DOM事件对象是相同的,只是表现形式不同而已,通过映射的方式,我们可以实现兼容IE和DOM事件对象的事件对象lang="en"> <metacharset="UTF-8"> Document <styletype="text/css"> #dr原创 2016-11-13 16:17:45 · 407 阅读 · 0 评论 -
javascript中var that=this
在阅读别人的代码时,发现别人写的代码中有这么一句:var that = this;,这代表什么意思呢?经过一番查阅,才明白是这么回事。在javascript中,this代表的是当前对象。var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢?$(‘#conten’).click(function(){//this是被点击的#contenvar that = t原创 2017-02-16 21:18:03 · 937 阅读 · 0 评论 -
js中的异常处理
我们在编写js过程中,难免会遇到一些代码错误问题,需要找出来,有些时候怕因为js问题导致用户体验差,这里给出一些解决方法js容错语句,就是js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好)复制代码代码如下:window.onerror=function(){return true;} 下面是为了获取j转载 2016-08-04 14:33:34 · 395 阅读 · 0 评论 -
javascript中错误处理
由于js本身是动态语言,而且多年来一直没有固定的开发工具,因此人们普遍认为他是一种难于调试的编程语言。尤其是在脚本出错时,浏览器通常会给出类似于“object expected”(缺少对象)这样的消息,没有上下文,让人摸不着头脑,后来便引入了try-catch和throw语句以及一些错误类型,让开发人员能够适当的处理错误。(1.)try-catch语句语法:try{//可能会导致错原创 2016-08-08 10:58:50 · 5784 阅读 · 0 评论 -
JavaScript 中那些“DOM小陷阱”
js在操作DOM中存在着很多跨浏览器方面的陷阱,本文将根据实例整理那些大大小小的“陷阱”。首先DOM的工作模式:先加载文档的静态内容、再以动态方式对它们进行刷新,动态刷新是不会影响文档静态内容的。PS:IE 中的所有 DOM 对象都是以 COM 对象(组件)的形式实现的,这意味着 IE 中的 DOM可能和其他浏览器会有一定的差异。Node 接口(如图)firstCh原创 2016-11-13 15:58:39 · 280 阅读 · 0 评论 -
setAttribute 和 getAttribute区别
² 赋值....setAttribute("a","1") 将1赋值给a² 取值....getAttribute("a") 取出a的值,为1在IE中是不认识class属性的,需改为className属性,同样,在Firefox中,也是不认识className属性的,Firefox只认识class属性,所以通常做法如下:element.setAttribute(class, va原创 2016-11-13 16:13:23 · 7316 阅读 · 0 评论 -
那些显而易见的DOM属性区别及用法
offsetLeft和style.left区别:n offsetLeft 获取的是相对于父对象的左边距,left 获取或设置相对于具有定位属性(position定义为relative)的父对象的左边距,如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的值,这同offsetLeft原创 2016-11-13 16:28:32 · 816 阅读 · 0 评论 -
js拼接字符串与变量
使用eval()方法可将拼接后的字符串与变量转变为变量var field_test = '我是小白鼠一号'; var field_test = '我是小白鼠二号'; // 然后在JS里尝试将前面的语言简写当成变量,拼接后面的字符串 var lang = 'field'; var test1 = lang + '_test'; var test2 = eval(lang + '_test...原创 2018-11-19 15:34:29 · 22494 阅读 · 0 评论