自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学无止境

19年新的开始

  • 博客(21)
  • 收藏
  • 关注

转载 理解argument和 callee 属性

arguments  javascript中的函数定义并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型检查。实际上,javascript函数调用甚至不检查传入形参的个数function add(x){return x+1;}console.log(add(1));//2console.log(add('1'));//'11'console.log(add());/

2016-08-10 17:28:32 2133 1

转载 函数传参中传递的是值还是引用?

同java一样,javascript中参数也只有值传递。这点同变量的访问不同,变量的访问可以有按值和按引用两种方式。以下分为基本数据类型和引用数据类型说明。1.基本数据类型 在向参数传递基本数据类型的值时,被传递的值会被复制给一个局部变量(命令参数,或者是argument对象中的一个元素)。1 function addTen(num){2 num += 10;3

2016-08-10 16:50:44 2559

转载 闭包的常见应用

事实上,通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率。1、匿名自执行函数我们知道所有的变量,如果不加上var关键字,则默认的会添加到全局对象的属性上去,这样的临时变量加入全局对象有很多坏处,比如:别的函数可能误用这些变量;造成全局对象过于庞大,影响访问速度(因为变量的取值是需要从原型链上遍历的)。除了每次使用

2016-08-10 14:26:19 4310

转载 几个闭包内存泄漏的优化方案!

本文通过举例,由浅入深的讲解了解决js函数闭包内存泄露问题的办法,分享给大家供大家参考,具体内容如下原代码:function Cars(){ this.name = "Benz"; this.color = ["white","black"];}Cars.prototype.sayColor = function(){ var outer = this; r

2016-08-10 14:19:32 7235 3

转载 立刻执行函数深入了解

转自:http://web.jobbole.com/82520/原文是一篇很经典的讲解IIFE的文章,很适合收藏。本文虽然是译文,但是直译的很少,而且添加了不少自己的理解。ps:下文中提到的“立即执行函数”其实就是“立即执行函数表达式”1.我们要说的到底是什么?现在我们定义了一个函数(function foo(){}或者var foo = function(){

2016-08-10 13:01:45 2092 1

转载 深入理解javascript执行上下文

在这篇文章中,将比较深入地阐述下执行上下文 - Javascript中最基础也是最重要的一个概念。相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么,为什么某些函数以及变量在没有被声明以前就可以被使用,以及它们的最终的值是怎样被定义的。什么是执行上下文Javascript中代码的运行环境分为以下三种:全局级别的代码 - 这个是默认

2016-08-10 09:46:09 1554

转载 使用let避免变量提升的问题!

之前通过babel-node将es6转为es5后结合生成的es5代码认为let是在es5的基础上封装的语法糖,并且通过babel-node执行没有报ReferenceError而认为其有变量提升,其实这是错误的,let是es中新加入的一个标识符而已。并且没有变量提升。特此勘正。  1、let中没有变量提升。  在通过babel-node执行es6的代码时,是将es6转换为es5后去执行的,

2016-08-09 21:11:40 3126

转载 javascript定义全局变量的时候有var和没有var的区别

首先讨论的范围是在浏览器端的javascript 在平常我们定义一个全局的变量 代码如下: var x = 2; y = 3; console.log(x); //2 console.log(y); //3 console.log(window.x);//2 console.log(window.y);//3复制代码 可以看出x,y都挂在window下,成为window

2016-08-09 20:47:03 3152

转载 javascript中创建变量时作用域和内存详解!

JS变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已;由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变;一 变量及作用域1.基本类型和引用类型// JS变量包含两种不同的数据类型的值:基本类型值和引用类型值;// 1.基本类型值:保存在栈内存中的简单数据段;即这种值完全保存在内存中的一个位置

2016-08-09 18:04:31 2517

转载 IE中getElementByName失效的问题!

注意:在IE下有些节点是没有name 属性的,就是用document.getElementsByName获取不到的。只有下面的tag有name属性:A, APPLET, attribute, BUTTON, EMBED, FORM, IMG, INPUT type=button, INPUT type=checkbox, INPUT type=file, INPUT type=hidden,

2016-08-09 15:07:41 2674

转载 alert()实现原理的探索!(c++底层机制我也不懂啊!)

作者:貘吃馍香链接:http://www.zhihu.com/question/20963787/answer/34123046来源:知乎著作权归作者所有,转载请联系作者获得授权JS BOM api 中 alert 的实现GUI 中模态窗口阻塞其他代码运行原理一个个来说第一个比较简单。首先它是目标平台的包装函数,也就是非JS原生 API。这需要调用J

2016-08-09 13:32:49 3948

转载 chrome中console的那些用法!

Chrome 控制台console的用法下面我们来看看console里面具体提供了哪些方法可以供我们平时调试时使用。目前控制台方法和属性有:["$$", "$x", "dir", "dirxml", "keys", "values", "profile", "profileEnd", "monitorEvents", "unmonitorEvents", "inspect",

2016-08-09 13:08:16 2904

转载 让IE8兼容console

问题描述经测试发现问题只出现在:1、原生IE8(其他版本IE模拟出的IE8无此问题)2、从打开IE8没有开启过F12(曾经开启过又关闭的无此问题) IE8报错“由于出现错误80020101而导致此项操作无法完成”,进而导致当前页面无法显示,同时整站所有页面都无法加载。 问题分析-IE8没有console对象从上述症状分析,猜测应该跟IE8的开发者工具有关,说明代

2016-08-09 13:03:52 11303 2

转载 document.write的用处!

document.write是JavaScript中对document.open所开启的文档流(document stream操作的API方法,它能够直接在文档流中写入字符串,一旦文档流已经关闭,那document.write就会重新利用document.open打开新的文档流并写入,此时原来的文档流会被清空,已渲染好的页面就会被清除,浏览器将重新构建DOM并渲染新的页面。--(重写页面问题!

2016-08-09 10:52:00 47970 5

转载 document.write的广告无阻塞的加载

一、广告代码分析很多第三方地广告系统都是使用document.write来加载广告,如下面地一个javascript地广告链接. 代码如下:<script type=text/javascript src=http://gg.5173.com/adpolestar/5173/;ap=2ebe5681_1ba3_4663_fa3f_e73d2b83fbdc;ct=js;pu=5

2016-08-09 10:13:51 1596

转载 Javascript 同步异步加载详解 (十足的好文章!!强烈推荐)

原文链接:http://handyxuefeng.blog.163.com/blog/static/4545217220131125022640/   本文总结一下浏览器在 javascript 的加载方式。关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性, defer 属性

2016-08-08 21:35:54 8812 1

转载 避免全局变量污染的一些措施!

一、尽量少用全局对象全局变量的问题在于,你的JavaScript应用程序和web页面上的所有代码都共享了这些全局变量,他们住在同一个全局命名空间,所以当程序的两个不同部分定义同名但不同作用的全局变量的时候,命名冲突在所难免。web页面包含不是该页面开发者所写的代码也是比较常见的,例如:第三方的JavaScript库广告方的脚本代码第三方用户跟踪和分析脚本代码不同类型的小组件,标志和

2016-08-07 20:43:55 10376 8

转载 for循环中的闭包问题及解决方案

说到闭包,我们首先来看一个最最简单的例子,也是最最基础的例子:为多个相同的元素,绑定事件,在点击每一个元素时,提示被点击元素的排列位置。 栏目1 栏目2 栏目3 栏目4 拿到手的第一反应就是for循环添加点击事件了(添加索引值也可以!)这里讨论闭包解决!(i=4   ,一直弹4,好烦!)function b

2016-08-07 19:51:16 5505 5

转载 定时器中的this指向问题

原文地址:http://www.zhangyunling.com/?p=134看例子:代码中中的两个setTimeout执行后的结果分别是什么?   var a = 1; function B(){ var a = 2; setTimeout("C()",1000); setTimeout(C,2000);

2016-08-07 19:06:28 5494

转载 this指向 最简单的两种!

原文地址:http://www.zhangyunling.com/?p=251    在我们刚刚使用JS时,不知道您是否因为一些东西而思路直接混乱的情况,反正我是有过,曾经有段时间,我是尽量在所有能不使用this的地方,不去使用this,因为这个家伙总是让我不知道,它在一些地方,到底是代表的什么含义,现在,自认为有了一些认识,所以也敢于使用这个变量了,所以就有了本篇文章。

2016-08-07 18:12:30 1735 6

转载 css动画和js动画比较!

原文地址:http://css-tricks.com/myth-busting-css-animations-vs-javascript/译文地址:https://github.com/classicemi/blog/issues/3曾经某个时期,大多数开发者使用 jQuery 给浏览器中的元素添加动画。让这个淡化,让那个扩大,很简单。随着互动的项目越来越复杂,移动设备的大量增

2016-08-07 13:35:21 4932

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除