上几周一直在做公司的webos的前端代码的重构,之中对javascript的代码进行了重构(之前的代码耦合严重.拓展.修改起来比较困难),这里总结一下当中使用的一种代码结构——插件式(听起来怎么像独孤九剑一样.....). 代码结构 这直接上代码结构图(Javascript部分) ps:箭头的指向A->B,表示A调用B 由上面可以看到四种类型的东西: 控制类:提供一个全局的命名空间.保存上下文信息.组件.组件提供的全局方法,负责调用组件初始化. 代码示例如下(不完整): var webos= {…
超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSONP. 现在你想要获取其他网站上的 JavaScript 脚本,你非常高兴的使用 XMLHttpRequest 对象来获取.但是浏览器一点儿也不配合你,无情的弹出了下面的错误信息: XMLHttpRequest cannot load http://x.com/main.dat. No 'Access…
循环的类型 一:for var arr = [1, 2, 3, 4, 5, 6]; for (var i = 0, len = arr.length; i < len; i++) { console.log(arr[i]); } 在for循环中定义的新变量相当于在循环体外定义的变量,所以可以写成如下格式. var i = 0, len = arr.length; for (; i < len; i++) { console.log(arr[i]); } 每次循环执行结束都会对i进行增量操作(增…
今天给自己巩固一下js的继承知识,基础不好,有不对的地方,请尽量拍砖,越重越好. js继承方法最主要的是2种,一种是通过原型的方式,一种是通过借用call&apply的构造函数方式. 1.原型(prototype): function Body(name,age){// 创建一个Body类 this.name = name;// 赋予基础属性name.age this.age = age; } Body.prototype.sayName =function() {// 给原型定义一个sayNa…
参考地址: https://www.cnblogs.com/programs/p/5554742.html 工作中经常会碰到要把2个或多个字符串连接成一个字符串的问题,在JS中处理这类问题一般有三种方法,这里将它们一一列出顺便也对它们的性能做个具体的比较. 第一种方法  用连接符“+”把要连接的字符串连起来: str="a"; str+="b"; 毫无疑问,这种方法是最便捷快速的,如果只连接100个以下的字符串建议用这种方法最方便. 第二种方法  以数组作为中介用…
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是"凡是新加入的特性,势必已在其它语言中得到强有力的实用性证明."--TRUE!如果你大概浏览下 ES6 的新特性,事实上它…
原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructuring 箭头函数 Arrow Functions Symbols 集合 学习Babel和Broccoli,马上就用ES6 代理 Proxies ES6 说自己的宗旨是“凡是新加入的特性,势必已在其…
VS Code - Debugger for Chrome调试JavaScript的两种方式 最近由于出差的缘故,博客写的不是很多,一直想写一篇VS Code - Debugger for Chrome相关的文章,没想到一直拖到了今天.VS Code 开源以后确实在社区得到了很多人的支持,当中很多优点想必不用我多说,今天讨论的主题是Debugger for Chrome这个插件的使用.在网上简单找了一下,没有找到这个主题讲的特别好的文章,于是笔者写了这篇文章. 说实话,看了如下这篇文章,对于如何…
3.1.2 正式代码结构 & ORBIT CONTROLS插件(轨道控制) 说明 本节内容属于插入节,<Three.js入门指南>这本书中,只是简单的介绍了一些概念,是一本基础的入门级别的书. 在实践过程中,在学习过程中,我发现不论是官方,还是大牛的文章,都不是这样去结构话代码的.混乱,不易于管理维护. 所以,为了以后继续学习,以及各种好处,有必要在这里,好好的熟悉一下这种良好的代码结构. 此外,前面的学习,不难发现,我们不能通过鼠标拖动,来更好的观察我们的效果,为了实现这一目的,我们…
javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象.那么,既然是面象对象的,如何来创建对象呢? 一.通过”字面量“方式创建. 方法:将成员信息写到{}中,并赋值给一个变量,此时这个变量就是一个对象.例如:  var person = (name:'dongjc', work:function() {console.log('write coding')});   如果{}中为空,则将创建一个空对象:  var person = {}…
this 在 JavaScript 开发中占有相当重要的地位,不过很多人对this这个东西都感觉到琢磨不透.要真正理解JavaScript的函数机制,就非常有必要搞清楚this到底是怎么回事. 函数调用方式不同,this 含义也跟着不同.JavaScript语言中有七种调用函数方式: 第一种:调用方法var obj = {    method: function() { alert(this === obj); }}obj.method();上面这行obj.method()显然method是作为…
在客户端编程语言中如javascript,同源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法.只有当两个域具有相同的协议,相同的主机,相同的端口时,我们就认定他们是相同的域.可是在实际开发中我们经常需要获取其他域的资源,这个时候各种不同的跨域资源方式就各显神通了,今天主要来总结一下工作中常用的几种跨域方式,以备查询. 1.window.name window 对象的name属性是一个很特别的属性,当在 frame 中加载新页面时,name 的属性值依旧保…
原文:https://www.cnblogs.com/guohu/p/5085045.html SVG与HTML.JavaScript的三种调用方式 一.在HTMl中访问SVG的DOM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 <!DOCTYPE…
1.JavaScript的几种格式 1.1.JavaScript的特点 1.跨平台性    2.安全性.(javaScript代码不能直接访问电脑硬盘上的信息) 1.2.Java与javaScript的区别 1.java是sun公司的产品,javaScript是属于网景公司产品.    2.java是面向对象的语言,javaScript是基于对象的语言.    3.java解释,编译型语言javaScript是解释型语言.    4.java是强类型语言,javaScript是弱类型的语言.  …
javascript中var let const三种变量声明方式 1.var  ①var表示声明了一个变量,并且可以同时初始化该变量. ②使用var语句声明的变量的作用域是当前执行位置的上下文:一个函数的内部(声明在函数内)或者全局(声明在函数外). ③给一个非声明变量赋值会隐式创建一个全局变量(造成代码污染)(全局object的一个属性).声明变量(Declared Variable)和非声明变量(Undeclared Variable)的区别是: (1)声明变量的作用域限制在其声明位置的上下…
这一篇梳理Prism中07示例Module的几种加载方式. 07示例分为了5个,有5种不同的Module加载方式. 我们开始学习加载Modules 观察07-Modules-Appconfig示例 分为ModuleA工程和Modules工程 我们在解决方案上打开管理解决方案的Nuget程序包,ModuleA工程引用了Prism.Wpf:Modules引用了Prism.Unity: Modules的App.config下配置文件被修改了.我们先不分析,就看一下结构. <configuration>…
.JavaScript代码嵌入方式 #①HTML文档内 JavaScript代码要写在script标签内 script标签可以写在文档内的任意位置 为了能够方便查询或操作HTML标签(元素)script标签可以写在body标签后面 可以参考简化版的HelloWorld <!-- 在HBuilderX中,script标签通过打字"sc"两个字母就可以直接完整生成 --> <script type="text/javascript"> // 下面…
最基本的对象创建方式是通过Object构造函数或对象字面量的方式创建: ①通过Object构造函数的方式创建对象: var person=new Object();//或者写成var person={} person.name='张三'; ②通过对象字面量的方式创建对象: var person={name:'张三'}; Object构造函数模式和对象字面量模式这两种创建对象的方式,都有明显的缺点:使用同一个接口创建很多对象的时候,会产生大量的重复代码.为解决这个问题,可以使用工厂模式.工厂模式就…
Javascript对象创建的几种方式  1.使用new运算符创建Object  var box=new Object();  box.name='肖能武';  box.age=28;    2.new关键字可以省略   var box=Object();    3.使用字面量方式创建Object  var box={    name:'李炎恢',    age:28 };   属性的创建    1.属性字段也可以使用字符串变量  var box={    'name':'李炎恢',     '…
原文地址https://segmentfault.com/a/1190000003642057 超详细并且带 Demo 的 JavaScript 跨域指南来了! 本文基于你了解 JavaScript 的同源策略,并且了解使用跨域跨域的理由. 1. JSONP 首先要介绍的跨域方法必然是 JSONP. 现在你想要获取其他网站上的 JavaScript 脚本,你非常高兴的使用 XMLHttpRequest 对象来获取.但是浏览器一点儿也不配合你,无情的弹出了下面的错误信息: XMLHttpReque…
一.原生JavaScript支持6种方式获取元素 document.getElementById('id'); document.getElementsByName('name'); document.getElementsByTagName('tag'); document.getElementsByClassName('className'); document.querySelector("#id"); document.querySelector(".classNam…
JavaScript的继承方式有多种,这里列举3种,分别是原型继承.类继承以及混合继承. 1.原型继承 优点:既继承了父类的模板,又继承了父类的原型对象: 缺点:不是子类实例传参,而是需要通过父类实例,不符合常规. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" conte…
Sublime text代码补全插件(支持Javascript.JQuery.Bootstrap框架)   插件名称:javascript-API-Completions 支持Javascript.JQuery.Twitter Bootstrap框架.HTML5标签属性提示的插件,是少数支持sublime text 3的后缀提示的插件,HTML5标签提示sublime text 3自带,不过JQuery提示还是很有用处的,也可设置要提示的语言. 下载地址:https://github.com/P…
作者:朱金灿 来源:http://blog.csdn.net/clever101 跨平台C++开源代码为适应各种编译器的编译,采用了两种方式方面来适配.一种是makefile方式.以著名的空间数据格式解析库gdal为例,它就是提供了makefile来供各种编译器来编译.gdal主要提供了微软的VC编译器和GNU GCC编译器两种格式的makefile,在gdal的源码根目录可以找到makefile.vc和GNUmakefile两个makefile文件,其中makefile.vc为vc编译器的ma…
go语言的开发工具推荐? go语言开发普通程序及开发web程序的时候,应该以哪种目录结构组织代码? 求推荐go语言开发工具及go语言应该以哪种目录结构组织代码? >> golang这个答案描述的挺清楚的:http://www.goodpm.net/postreply/golang/1010000008839459/求推荐go语言开发工具及go语言应该以哪种目录结构组织代码.html…
JavaScript中四种不同的属性检测方式比较 1. 用in方法 var o = {x:1}; "x" in o; //true "y" in o; //false "toString" in o; //true,继承属性可以被检测到 "toString" in Object.prototype; //true,不可枚举的属性可以被检测到 2. hasOwnProperty()方法 var o = {x:1}; o.hasO…
最近使用sublime开发node.js,但是sublime的js代码在书写的时候并没有提示功能. 因此搜到资料,用于安装代码自动提示插件. 1.打开sublime,然后快捷键Ctrl+Shift+P,打开pacakges列表界面,搜索packages:install packages [注意]此处如果点击packages:install packages后,报下面这个错的话: 解决方法: 1.http://blog.csdn.net/freshlover/article/details/442…
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery 的最外层 $,jQuery (function (global, factory) { "use strict"; if (typeof module === "object" && typeof module.exports === "ob…
JavaScript的三种工业化玩法 软件工程中任何的语言如果想要写出健壮的代码都需要锋利的工具,当然JavaScript也不例外,很多朋友刚入门的时候往往因为工具选的不对而事半功倍,JavaScript同样需要软件调试技术,希望本文总结的三种工具会对大家的学习有所帮助. 任何语言的学习都离不开实践,不写代码是永远学不会编程的,当然javascript也不例外,很多人推荐直接浏览器调试,个人觉得这个推荐应该是非常初级的,比如Chrome, Firefox确实提供了实用的前端调试工具,但是个人认为…