javascript
文章平均质量分 74
Gavin13140
这个作者很懒,什么都没留下…
展开
-
javascript中的全局变量,局部变量,this易错点
var foo = 1; function main(){ alert(foo); var foo = 2; alert(this.foo) this.foo = 3;} main();//结果undefined和1,第一个undefined是因为虽然 var foo = 1,为全局变量,但是在函数体main()中,要调用此全局变量需加w原创 2015-04-02 20:58:41 · 527 阅读 · 0 评论 -
TypeScript(JavaScript的超集)
TypeScript(JavaScript的超集)始于JavaScript,归于JavaScriptTypeScript从今天数以百万计的JavaScript开发者所熟悉的语法和语义开始。使用现有的JavaScript代码,包括流行的JavaScript库,并从JavaScript代码中调用TypeScript代码。TypeScript可以编译出纯净、 简洁的JavaScript代码,并且可以运行在原创 2017-04-13 12:32:37 · 1367 阅读 · 0 评论 -
promise应用示例讲解
Q:红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次;如何让三个灯不断交替重复亮灯?(用Promse实现)三个亮灯函数已经存在:functionred(){ console.log('red');}functiongreen(){ console.log('green');}functionyellow(原创 2016-05-22 13:13:15 · 1683 阅读 · 0 评论 -
前端性能优化小知识点(javascript)
避免全局查找在一个函数中会用到全局对象存储为局部变量来减少全局查找,因为访问局部变量的速度要比访问全局变量的速度更快些。 function search() { //当我要使用当前页面地址和主机域名 alert(window.location.href + window.location.host); }原创 2016-05-19 21:58:14 · 1699 阅读 · 0 评论 -
前端如何做好数据容错
###前端如何做好数据保护1:if形式 if( obj && obj.a && obj.a.b && obj.a.b.c) 存在的问题,如果对象的层数过多,容易忽略并不易保护,甚至有可能出现如下图情况:某层数据为空时 后端数据结构会由obj =》 array。让人防不胜防:如下图2: try catch 形式 a)如需对obj.a.b.c.d做保护原创 2016-03-22 19:22:38 · 2755 阅读 · 1 评论 -
酷炫的react.js
高效的虚拟DOM:为了跟踪模型层的变化,并且将其应用到DOM中(也就是渲染),我们需要注意两个 重要的事情:数据是什么时候改变的哪一个(些)DOM元素需要被更新对于(1)而言,React提供了一个观察者模型用于替代传统的脏检查(dirty checking), 也就是持续的检查模型的变化。这也就是解释了为什么React不需要计算哪些发生 了改变的原因,因为它会立即知道。原创 2015-09-13 21:07:22 · 1081 阅读 · 0 评论 -
从JavaScript 数组去重看兼容性问题,及性能优化(摘自玉伯博客)
缘由JavaScript 数组去重经常出现在前端招聘的笔试题里,比如:有数组 var arr = ['a', 'b', 'c', '1', 0, 'c', 1, '', 1, 0],请用 JavaScript 实现去重函数 unqiue,使得 unique(arr) 返回 ['a', 'b', 'c', '1', 0, 1, '']作为笔试题,考点有二: 正确。别小看这个考点...原创 2015-08-01 19:53:16 · 2161 阅读 · 0 评论 -
js预加载/延迟加载
js预加载/延迟加载 博客分类: · javascript浏览器面试Chrome腾讯jQuery 在面试中问道了问题,虽然也看过相关资料,但是还是需要增强和梳理下,这些方式出现的需求和实现上的区别。 Pre loader 预加载一般有两种常用方式:xhr和动态插入节点的方式。动态插入节点是最为简单也最为广泛的一种异步加载方式,然后使用动态插入节点方法加载的文件都会在加载后立原创 2015-08-01 16:58:56 · 1358 阅读 · 0 评论 -
CSS hack
什么是CSS hack由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS h转载 2015-08-12 07:50:38 · 398 阅读 · 0 评论 -
js实现继承的多种方式
1:原型链方式,即子类通过prototype将所有在父类中通过prototype追加的属性和方法都追加到Child,从而实现了继承 function Person(){ } Person.prototype.hello = "hello"; Person.prototype.sayHello = function(){ alert(this.hello);原创 2015-08-08 22:32:08 · 827 阅读 · 1 评论 -
es6 新特性
1: 引入了class 定义方法可以不用function了 class Project { constructor(name) { this.name = name; }2:支持继承 extends 是js原型继承 OO面向对象的福音 class WebProject extends Project { constructor(name, tech原创 2015-07-25 22:30:06 · 410 阅读 · 0 评论 -
十个JavaScript中易犯的小错误,你中了几枪?
在今天,JavaScript已经成为了网页编辑的核心。尤其是过去的几年,互联网见证了在SPA开发、图形处理、交互等方面大量JS库的出现。如果初次打交道,很多人会觉得js很简单。确实,对于很多有经验的工程师,或者甚至是初学者而言,实现基本的js功能几乎毫无障碍。但是JS的真实功能却比很多人想象的要更加多样、复杂。JavaScript的许多细节规定会让你的网页出现很多意想不到的bug,搞懂这些转载 2015-06-08 11:22:28 · 471 阅读 · 0 评论 -
试试 ECMAScript 6
原文地址:http://www.2ality.com/2014/08/es6-today.html 原文作者:Dr. Axel Rauschmayer ( 译者: 可以在此处了解 ES5.1 的情况 ) ECMAScript 6 (ES6)听起来依旧感觉离我们很远。毕竟,它要到2015年中旬才能成为标准。但是,它的一些特性逐渐出现在一些浏览器中,有其内置的转载 2015-06-24 18:14:41 · 774 阅读 · 0 评论 -
js中几种实用的跨域方法原理详解
js中几种实用的跨域方法原理详解这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被当作是不同的域。下表给出了相对http://store.company.com/dir/page.html同源检测的结果:要解决跨域的问题,我们可以转载 2015-06-22 16:35:58 · 409 阅读 · 0 评论 -
最常见的 20 个 jQuery 面试问题及答案
毫无疑问,jQuery给了JavaScript急需的提振,这是一门如此有用,但同时总是常常被低估的语言. 在 jQuery 粉墨登场之前,我们曾经会写出冗长的JavaScript代码,不仅仅为更大型的应用程序,有时即使是更小的应用程序也要如此. 那种代码常常是既难以阅读又难以维护的.在使用这个优秀的库之前写过原生的JavaScript,仅仅在用过它的一个月之后,我就能意识到jQ原创 2015-04-15 19:01:54 · 390 阅读 · 0 评论 -
用Flow提升前端代码健壮性
看一段常见代码://例1function foo(x) { return x + 10}foo('Hello!')//例2function main(params){ //fn1函数获取了一个数据 var object = fn1(params) //fn2根据获数据,产生一个结果 var result = fn2(object) retur...原创 2018-04-27 10:58:26 · 6538 阅读 · 1 评论