201704-27 JavaScript异步编程 还记得一年前写过一篇关于JavaScript异步编程简述的文章,主要介绍了JavaScript的单线程特性与异步编程实现方式:回调函数,发布订阅模式,Promise对象三种,关于Promise介绍的比较简略,决定再详细总结一下,既是对上一篇文章的补充,也能以更深刻的方式分享自己关于异步编程的理解。前言如果你有志于成为一个优秀的前端工程师,或是想要深入学习JavaScript,异步编程是必不可少的一个知识点,这也是区分初级,... 继续阅读 >
201704-21 JavaScript常用代码总结 分享了一些常用JavaScript代码,有:1.手机类型判断、2.字符串长度、3.获取url中的参数、4.js绑定事件、5.当前浏览器JS的版本、6.全选/全不选、7.移除事件、8.回车提交、9.ajax提交等。经常使用的JS方法,今天记下,以便以后查询手机类型判断varBrowserInfo={userAgent:navigator.userAgent.toLowerCase()isAndroid:Boolean(navigator.userAgent.match(/android/ig)),isIphone:Boolean(naviga... 继续阅读 >
201704-14 深入理解JavaScript执行上下文、函数堆栈、提升的概念 首先明确几个概念:EC:函数执行环境(或执行上下文),ExecutionContextECS:执行环境栈,ExecutionContextStackVO:变量对象,VariableObjectAO:活动对象,ActiveObjectscopechain:作用域链想当初自己看到这几个概念的时候是一(m)脸(d)懵(z)逼(z),但是不得不说这几个概念对以后深入学习JS有很大的帮助。来不及解释了,赶紧上车~EC(执行上下文)每次当... 继续阅读 >
201704-13 80%应聘者都不及格的JS面试题 写在前面,笔者在做面试官这2年多的时间内,面试了数百个前端工程师,惊讶的发现,超过80%的候选人对下面这道题的回答情况连及格都达不到。这究竟是怎样神奇的一道面试题?他考察了候选人的哪些能力?对正在读本文的你有什么启示?且听我慢慢道来不起眼的开始招聘前端工程师,尤其是中高级前端工程师,扎实的JS基础绝对是必要条件,基础不扎实的工程师在面对前端开发中的各种问题时大概率会束手无策。在考察候选... 继续阅读 >
201704-13 JavaScript中数组对象详解 Array对象即数组对象用于在单个变量中存储多个值,JS的数组是弱类型的,所以允许数组中含有不同类型的元素,数组元素甚至可以是对象或者其他数组。创建数组的语法1、Array构造器1、varlist=newArray();2、varlist=newArray(size);3、varlist=newArray(element0,element1,...elementn);2、字面量的方式varArray[element0,element1,...elementn];举例子varlist=newArray(1,true,nu... 继续阅读 >
201704-13 JavaScript引用是如何工作的 JavaScript中没有指针,并且JavaScript中的引用与我们通常看到的大多数其他流行编程语言的工作方式不同。在JavaScript中,不可能有一个变量到另一个变量的引用。而且,只有复合值(例如对象或数组)可以通过引用来赋值。整片文章中将使用下列属于:标量–单个值或数据单元(如整数、布尔值、字符串)复合--由多个值组成(如数组、对象、集合)原始-直接的价值,而不是对包含值的东西的引用。Jav... 继续阅读 >
201704-01 一道有价值的JS继承面试题 题目原题目来源于一个网友的问答varA=function(){this.name='apple';}A.prototype.getName=function(){returnthis.name;}//补充代码varB=A.extend({initialize:function(){this.superclass.initialize.call(this);this.total=3;},say:function(){return'我有'+this.total+'个'+this.getName()}});varb=newB();console.log(b.say());/... 继续阅读 >
201702-28 JavaScript 面试题:重复输出一个给定的字符串 其实这是可以作为一道很好的面试题,可以考察开发人员的综合能力。面试题:重复输出一个给定的字符串(str第一个参数)n次(num第二个参数),如果第二个参数num不是正数的时候,返回空字符串。functionrepeatStringNumTimes(str,num){returnstr;}repeatStringNumTimes("abc",3);提供测试情况:repeatStringNumTimes("*",3)//应该返回"***".repeatStringNumTimes("abc",3)//应该返... 继续阅读 >
201702-23 全面解析 Javascript - this 为什么要写这篇文章?我之前在阿里面试,以及其它公司面试的时候曾经被问到过这个问题,所以想要分享给大家,如果你能清楚地知道下面this七种情况的区别,能跟面试官解释清楚,无疑是一个大大的加分项,理解完这篇文章,面试官再怎么问你this都不怕了。谈及Javascript中的this,竟然让人觉得头疼,它不像Java,C++中的this指向调用this的该对象。在函数中this到底取何值,是在函数真正被调用执... 继续阅读 >
201702-23 你知道怎么用原生 JS 设置样式么 用JS来动态设置CSS样式,常见的有以下几种1.直接设置style的属性某些情况用这个设置!important值无效如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留-号,就中括号的形式 element.style['text-align']='100px';element.style.height='100px';2.直接设置属性(只能用于某些属性,相关样式会自动识别)element.setAttribute('height',100);element.setAttribute('height... 继续阅读 >
201702-23 面试中要注意的 3 个 JavaScript 问题 JavaScript是所有现代浏览器的官方语言。因此,各种语言的开发者面试中都会遇到JavaScript问题。本文不讲最新的JavaScript库,通用开发实践,或任何新的ES6函数。而是讲讲面试中经常出现的3个JavaScript问题。我问过这些问题,我的朋友说他们也问。当然不是说你在准备JavaScript面试时只要学习这3个问题——你还有很多途径去更好的准备即将到来的面试——但面试官很有可能通过下面3个... 继续阅读 >
201702-11 在过去的一年里谁JavaScript 之最? JavaScript社区正在不断地发展创新,趋势在不断地变化着。本文将通过比较过去1年里在Github上的star 数,告诉你2016年的主要趋势。在2015年,React成为最大赢家,Redux在与Flux的大战中赢得胜利。那么谁是2016年的JavaScript新星?1、通过一年中最热门的10个项目,您可以很好地了解2016年的Web开发环境:2016年最热门的项目是Vue.JS项目,在去年的Github上获得了超过25,000star,超过了包括React和Angular... 继续阅读 >
201702-11 JavaScript This 的六道坎 鉴于this风骚的运作方式,对this的理解是永不过时的话题,本文试图通过将其大卸六块来钉住这个磨人的妖精。首先this isallaboutcontext.this说白了就是找大佬,找拥有当前上下文(context)的对象(contextobject)。大佬可以分为六层,层数越高权力越大,this只会认最大的。第一层:世界尽头权力最小的大佬是作为备胎的存在,在普通情况下就是全局,浏览器里就是window;在uses... 继续阅读 >
201702-11 深入理解 javaScript 原型继承 继承的本质:重用在探讨javaScript的原型继承之前,先不妨想想为什么要继承?考虑一个场景,如果我们有两个对象,它们一部分属性相同,另一部属性不同。通常一个好的设计方案是将相同逻辑抽出来,实现重用。以xiaoMingliLei两位同学举例。这两位同学有自己的名字,并且会介绍自己。抽象为程序对象,可以做如下表示。varxiaoMing={name:"xiaoMing",hello:function(){console.log('Hello,m... 继续阅读 >
201702-04 加快JavaScript加载和执行效率 JavaScript在浏览器中的性能成为开发者所面临的最重要的可用性问题。而这个问题又因JavaScript的阻塞特性变的复杂,也就是说当浏览器在执行JavaScript代码时,不能同时做其他任何事情。本文详细介绍了如何正确的加载和执行JavaScript代码,从而提高其在浏览器中的性能。概览无论当前JavaScript代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成。JavaScript执行过程耗时越久,浏览... 继续阅读 >
201702-04 JavaScript 很少为人所知的玩法 StackOverFlow的联合创始人杰夫·阿特伍德(JeffAtwood)曾提出著名的“Atwood定律”,即:AnyapplicationthatcanbewritteninJavaScript,willeventuallybewritteninJavaScript.任何能够用JavaScript实现的应用,最终都必将用JavaScript实现。毫无疑问,JavaScript已然成为当下最流行的编程语言之一,这点已经不需要争论了,不服的话前后端乃至全栈工程师肯定跟你急。最近,hackereart就发表... 继续阅读 >