随笔分类 -  27-前端

摘要:操作流程 1. 安装Nodejs 2. 配置npm镜像源、缓存目录 3. 安装vue cli脚手架 vue2: npm install -g vue-cli vue3: npm install -g @vue/cli # OR yarn global add @vue/cli 4. 创建vue项目 阅读全文
posted @ 2022-11-01 00:01 .Neterr 阅读(34) 评论(0) 推荐(0) 编辑
摘要:npm(Node Package Manager) npm 是nodejs的包管理工具,主要功能就是安装、卸载、更新、查看、搜索、发布node的包。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。 node包的安装分两种:本地安装、全局安装。 n 阅读全文
posted @ 2022-01-09 20:19 .Neterr 阅读(32) 评论(0) 推荐(0) 编辑
摘要:如果直接使用如下方式扩展系统函数,常常会导致冲突,有可能和系统函数重名或第三方引用的js也扩展了此函数 Array.prototype.first=function(){}; 安全扩展系统函数: var ArrayEx = (function(){ function ArrayEx(array){ 阅读全文
posted @ 2020-06-06 17:25 .Neterr 阅读(174) 评论(0) 推荐(0) 编辑
摘要:自己写了一个缓存代理,使用代理模式,支持指定函数、支持按参数缓存,原创 后续会支持缓存异步数据 CacheProxy: function CacheProxy(obj,proxyMethods){ var _cache={}; var _getType=Object.prototype.toStri 阅读全文
posted @ 2020-05-03 11:46 .Neterr 阅读(215) 评论(0) 推荐(0) 编辑
摘要:ajax二次封装 var _ajax = function (opt) { var defaultOption = { type: "POST", data: { "key": _const.TOKEN }, dataType: 'JSON', cache: false, error: functi 阅读全文
posted @ 2020-04-27 18:50 .Neterr 阅读(247) 评论(0) 推荐(0) 编辑
摘要:js中只有函数有作用域,所以用函数模拟一个命名空间 function CartNamespace(){ function LoginBox(){/*登录弹窗*/ this.show=function(){}; } function ShopCartBusiness(){/*购物车业务*/ var _ 阅读全文
posted @ 2020-04-27 18:32 .Neterr 阅读(216) 评论(0) 推荐(0) 编辑
摘要:公共的发布订阅组件,不需要再在组件中写发布订阅相关逻辑,用于模块间解耦,支持排序、传参,原创~ EventContainer:发布-订阅公共组件 Array.prototype.sort = function (fn) {//数组排序 var temp; fn = fn || function (a 阅读全文
posted @ 2020-04-26 19:10 .Neterr 阅读(309) 评论(0) 推荐(0) 编辑
摘要:前言 web早已经进入了2.0时代了,如今的网页大有往系统应用级别的方向发展的趋势,再也不是以前的简单展示信息的界面了。如今很多webapp已经做到了原生应用的功能,并且运用自身的优势逐步取代之。HTML5也很给力,对多平台,多屏幕设备的良好兼容性使得前端工程师们在各种平台上大显身手。卤煮两年前进公 阅读全文
posted @ 2020-04-21 14:48 .Neterr 阅读(1681) 评论(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 阅读(769) 评论(0) 推荐(0) 编辑
摘要:上面这段代码中,函数声明在函数调用下,为什么会调用成功呢? hello(); function hello(){alert("hello");} 因为js在编译阶段预解析,将上面这段代码转换成: var hello = function(){alert('hello');}; hello(); 只有 阅读全文
posted @ 2019-11-24 11:54 .Neterr 阅读(109) 评论(0) 推荐(0) 编辑
摘要:当自调用函数需要使用外部变量时,应该作为参数传递给函数,这样函数在访问外部变量时不用进行作用域链查找了 (function(window,jQuery){ //................ })(window,jQuery); 使用单个var,在代码块开头声明变量,防止逻辑混乱、减少代码量 va 阅读全文
posted @ 2019-11-24 11:49 .Neterr 阅读(106) 评论(0) 推荐(0) 编辑
摘要:如果直接使用原型扩展系统函数,可能会和其他人的代码相互冲突 为了防止出现冲突,可以使用如下方法进行扩展: function MyArray(){ this.Name="MyArray"; } MyArray.prototype=[]; var arr =new MyArray(); arr.push 阅读全文
posted @ 2019-11-24 11:46 .Neterr 阅读(164) 评论(0) 推荐(0) 编辑
摘要:平时在写js时应该用面向对象思想将每一组功能封装成一个模块,可实现模块间的高内聚低耦合、重用、结构清晰........... 如果页面中逻辑复杂、功能多,不使用模块封装是不可想象的,维护起来非常复杂。 举个栗子,比如页面中的登录弹窗:封装弹窗代码,外界代码订阅弹窗内的事件(登录、注册...) 1 f 阅读全文
posted @ 2019-11-24 11:45 .Neterr 阅读(307) 评论(0) 推荐(0) 编辑
摘要:.net中StringBuilder的好处不多说了,下面是js版的StringBuilder function StringBuilder() { this.__stringArr__ = []; } $.extend(StringBuilder.prototype, { append: funct 阅读全文
posted @ 2019-11-24 11:38 .Neterr 阅读(950) 评论(0) 推荐(0) 编辑
摘要:要理解闭包首先要知道什么是函数的作用域链 因为有函数的作用域链存在,所以函数无论在哪里调用,函数都可以使用函数外部作用域的变量。 当一个函数被调用时,会创建一个执行环境及相应的作用域链。然后使用arguments和其他命名参数的值来初始化函数的活动对象。此活动对象在当前函数作用域链的第一位,外部函数 阅读全文
posted @ 2019-11-24 11:36 .Neterr 阅读(830) 评论(0) 推荐(0) 编辑
摘要:prototype:每个函数都有一个prototype属性,所有通过相同函数创建的对象都指向同一个prototype对象。 当使用对象的属性和方法时,首先在对象内部查找,如果没有就去原型中查找如果构造函数创建一个对象后修改构造函数的原型,之前创建的对象原型不变如果将prototype直接替换为一个新 阅读全文
posted @ 2019-11-24 11:31 .Neterr 阅读(123) 评论(0) 推荐(0) 编辑