随笔分类 -  27-前端

摘要:前言 web早已经进入了2.0时代了,如今的网页大有往系统应用级别的方向发展的趋势,再也不是以前的简单展示信息的界面了。如今很多webapp已经做到了原生应用的功能,并且运用自身的优势逐步取代之。HTML5也很给力,对多平台,多屏幕设备的良好兼容性使得前端工程师们在各种平台上大显身手。卤煮两年前进公 阅读全文
posted @ 2020-04-21 14:48 .Neterr 阅读(1747) 评论(0) 推荐(0)
摘要:js日志组件~~ 1 function Logger(level) { 2 if (!(this instanceof Logger)) { 3 return new Logger(); 4 } 5 var ERROR = 1; 6 var INFO = 2; 7 var DEBUG = 3; 8 阅读全文
posted @ 2019-11-24 11:56 .Neterr 阅读(786) 评论(0) 推荐(0)
摘要:上面这段代码中,函数声明在函数调用下,为什么会调用成功呢? hello(); function hello(){alert("hello");} 因为js在编译阶段预解析,将上面这段代码转换成: var hello = function(){alert('hello');}; hello(); 只有 阅读全文
posted @ 2019-11-24 11:54 .Neterr 阅读(118) 评论(0) 推荐(0)
摘要:当自调用函数需要使用外部变量时,应该作为参数传递给函数,这样函数在访问外部变量时不用进行作用域链查找了 (function(window,jQuery){ //................ })(window,jQuery); 使用单个var,在代码块开头声明变量,防止逻辑混乱、减少代码量 va 阅读全文
posted @ 2019-11-24 11:49 .Neterr 阅读(114) 评论(0) 推荐(0)
摘要:如果直接使用原型扩展系统函数,可能会和其他人的代码相互冲突 为了防止出现冲突,可以使用如下方法进行扩展: function MyArray(){ this.Name="MyArray"; } MyArray.prototype=[]; var arr =new MyArray(); arr.push 阅读全文
posted @ 2019-11-24 11:46 .Neterr 阅读(170) 评论(0) 推荐(0)
摘要:平时在写js时应该用面向对象思想将每一组功能封装成一个模块,可实现模块间的高内聚低耦合、重用、结构清晰........... 如果页面中逻辑复杂、功能多,不使用模块封装是不可想象的,维护起来非常复杂。 举个栗子,比如页面中的登录弹窗:封装弹窗代码,外界代码订阅弹窗内的事件(登录、注册...) 1 f 阅读全文
posted @ 2019-11-24 11:45 .Neterr 阅读(314) 评论(0) 推荐(0)
摘要:.net中StringBuilder的好处不多说了,下面是js版的StringBuilder function StringBuilder() { this.__stringArr__ = []; } $.extend(StringBuilder.prototype, { append: funct 阅读全文
posted @ 2019-11-24 11:38 .Neterr 阅读(963) 评论(0) 推荐(0)
摘要:要理解闭包首先要知道什么是函数的作用域链 因为有函数的作用域链存在,所以函数无论在哪里调用,函数都可以使用函数外部作用域的变量。 当一个函数被调用时,会创建一个执行环境及相应的作用域链。然后使用arguments和其他命名参数的值来初始化函数的活动对象。此活动对象在当前函数作用域链的第一位,外部函数 阅读全文
posted @ 2019-11-24 11:36 .Neterr 阅读(843) 评论(0) 推荐(0)
摘要:prototype:每个函数都有一个prototype属性,所有通过相同函数创建的对象都指向同一个prototype对象。 当使用对象的属性和方法时,首先在对象内部查找,如果没有就去原型中查找如果构造函数创建一个对象后修改构造函数的原型,之前创建的对象原型不变如果将prototype直接替换为一个新 阅读全文
posted @ 2019-11-24 11:31 .Neterr 阅读(133) 评论(0) 推荐(0)
摘要:in: 案例1、遍历对象: for(key in obj) { console.info( key+":"+obj[key]; ) }; 案例2、判断对象中是否有属性: "name" in obj 案例3、判断数组是否有此下标: 3 in ['a','b','c','d'] typeof: type 阅读全文
posted @ 2019-11-24 11:23 .Neterr 阅读(851) 评论(0) 推荐(0)
摘要:$.extend(String.prototype, { trim:function () {/*删除首尾空格*/ return this.replace(/^\s*|\s*$/g, ""); }, isAlpha: function () {/*是否由数字、字母、下划线组成*/ var reg = 阅读全文
posted @ 2019-11-23 15:04 .Neterr 阅读(224) 评论(0) 推荐(0)