js 复杂研究】的更多相关文章

<script type="text/javascript"> /* 定义一个Person类 */ function Person(name, age) { this.name = name; this.age = age; } /* 添加两个方法getName getAge */ Person.prototype = { getName: function() { return this.name; }, getAge: function() { return this.…
1.类扩展 /* EditInPlaceField类 */ /* 扩展函数 */ function extend(subClass, superClass) { var F = function() {}; F.prototype = superClass.prototype; subClass.prototype = new F(); subClass.prototype.constructor = subClass; subClass.superclass = superClass.prot…
代码 <script type="text/javascript"> /* 克隆原型得到对象 */ function clone(object) { function F() {} F.prototype = object; return new F; } var Person = { name: 'default name', getName: function() { return this.name; } }; var reader = clone(Person);…
<script type="text/javascript"> var Book = (function() { // 私有静态属性 ; // 私有静态方法 function checkIsbn(isbn) { if(isbn == undefined || typeof isbn != 'string') { return false; } return true; } // 返回构造函数 return function(newIsbn, newTitle, newAut…
<script type="text/javascript"> var Book = function(newIsbn, newTitle, newAuthor) { // implements Publication // 私有属性 var isbn, title, author; // 私有方法 function checkIsbn(isbn) { if(isbn == undefined || typeof isbn != 'string') { return fal…
第一种 function foo() { ; function bar() { a *= ; } bar(); return a; } 第二种 function foo() { ; function bar() { a *= ; return a; } return bar; } 两种效果相同. 调用结果 var baz = foo(); // baz is now a reference to function bar. alert(baz()); // returns 20. alert(b…
js可以定义自己的类 很有意思 <script type="text/javascript"> var Anim = function() { alert('nihao'); }; Anim.prototype.start = function() { alert('start'); }; Anim.prototype.stop = function() { alert('stop'); }; var myAnim = new Anim(); myAnim.start();…
——杂言:audio.js结合使用html5的audio组件实现了音频的原位播放功能.虽然项目里已经使用一段时间了,不过我是最近才开始有所接触,惭愧.个人见解若有不对,请帮忙纠正,谢谢. 官方相关链接: 官网 docs github源码   基本使用步骤: 1.下载 audio.js ,  player-graphics.gif,   audiojs.swf 2.添加audio.js引用代码 <script src="/audiojs/audio.min.js"></…
利用CSS3:checked选择器和~配合实现tab切换 效果: 代码: <style> body,div,input,label{ margin:0; padding:0; } #tab>input{ opacity:0; position:absolute; left:0; top:0; } #tab .label{ overflow:hidden; } #tab .label>label{ float:left; width:100px; height:30px; line-…
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script> //-----------------------------------------------…
<script type="text/javascript"> /* 增加函数 */ function augment(receivingClass, givingClass) { for(methodName in givingClass.prototype) { if(!receivingClass.prototype[methodName]) { receivingClass.prototype[methodName] = givingClass.prototype[…
<script type="text/javascript"> function Person(name) { this.name = name; } Person.prototype.getName = function() { return this.name; } function Author(name, books) { Person.call(this, name); // 定义:调用一个对象的一个方法,以另一个对象替换当前对象. this.books = bo…
<script type="text/javascript"> var Book = function(isbn, title, author) { if(!this.checkIsbn(isbn)){ throw new Error('Book: Invalid ISBN.'); } this.isbn = isbn; this.title = title || 'No title specified'; this.author = author || 'No autho…
/* 匿名函数*/ (function() { var foo = 10; var bar = 2; alert(foo * bar);})(); /* 匿名函数,带参数 */ (function(foo, bar) { alert(foo * bar);})(10, 2); /* 匿名函数返回值 */ var baz = (function(foo, bar) { return foo * bar;})(10, 2); // baz will equal 20. /* 匿名函数关闭 */ va…
function test_001() { var t =0; return t || out_str("t未定义"), //1 // 执行1句;在执行2句; t||null //2 } var obj = test_001();   function out_str(obj) //定义一个函数 { console.log(t); } out_str.fn = out_str.prototype ={name:'张三'}; //函数对象 添加属性 fn 和 prototype 他们的值…
创建npm install moment --save-dev 日期格式化 moment().format('MMMM Do YYYY, h:mm:ss a'); // 六月 4日 2019, 6:24:10 晚上 moment().format('dddd'); // 星期二 moment().format("MMM Do YY"); // 6月 4日 19 moment().format('YYYY [escaped] YYYY'); // 2019 escaped 2019 mo…
//1.undefined 是派生自null的 //alert(undefined == null); //alert(undefined === null); ////结果 true false //2.建议还是养成编码的规范, //不要忘记初始化变量. //var box; //var car = null; //alert(typeof box == typeof car) //结果false //var hello = 'Hello World!'; //var hello2 = Boo…
最近在产品中开发基于REST的API接口,结合自己最近对Node.js的研究,想基于它开发一个REST Client做测试之用. 通过初步研究,Node.js开发HTTP Client还是挺方便的. 选用Node的理由: 1. 使用完全基于JavaScript的Node测试JSON格式的数据,非常之方便 2. Node有很好的社区支持.(现在GitHub上已成了JavaScript最大的开源社区) By Example: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1…
两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后接触了Lisp.python.java.Ruby.Lisp几乎在语法和思想上达到了完美,但却由于过于小众和开发环境的不完善,导致基本找不到工作,也只能作为业余时间的写一些有趣的东西了.python的强制缩进,说实话相当于告诉程序员:嘿,你个SB!到底会不会排版?我一直坚定的认为,充分相信程序员给于程序员最大的自由,而不是害怕程序员犯错误替程序员做出决定的语言更…
今天学习中遇到了一个有意思的问题. var obj = undefined 我们将一个对象设置为undefined typeof(obj)>>undefined 结果是undefined,可是这个时候我灵光一现,想起null这个对象了 typeof(null) >>object 结果是object! 本小姐手一抖,进行了二者等值比较,更奇怪的事情出现! obj == undefined >> true obj == null >> true obj ===…
node.js进阶 一.回顾与继续   对于一种语言的认识都是经历这样的一个过程的,首先从原生的环境(CMD)中开始学习,找到一门语言之间各种引用的本质和相互之间的调用方式,明澈各种依赖关系,在这个基础上我们可以进行一些比较简单的编程,但是却总是感觉到自己需要做很多底层的工作,开发的效率也比较低,因此在基本熟练的基础上,我们就需要使用IDE这种集成开发环境来进行大规模项目的开发和对接了.而node.js同样如此,在这里我推荐使用WebStorm来作为node.js的IDE,在这种环境中我们可以便…
一.堆栈的定义 1.栈是一种特殊的线性表.其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行. 结论:后进先出(Last In First Out),简称为LIFO线性表.栈的应用有:数制转换,语法词法分析,表达式求值等 2.队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不同,是两头都有限制,插入只能在表的一端进行(只进不出),而删除只能在表的另一端进行(只出不进),允许删除的一端称为队尾(rear),允许插入的一端称为队头 (Front),队列的操作原则是先进先出的,…
作者:进击的袋鼠链接:https://www.zhihu.com/question/23031215/answer/124017500来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1,对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没 有开辟新的栈,也就是复制的结果是两个对象指向同一个地址,修改其中一个对象的属性,则另一个对象的属性也会改变,而深复制则是开辟新的栈,两个对象对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的…
第7章 jQuery插件的使用和写法 插件又称扩展,是一种遵循一定规范的应用程序接口写出来的程序. 插件的编写思想基于面向对象. 获取最新的插件可以查看jquery官网:http://plugins.jquery.com/ 本章将从几个基本的例子来介绍jquery插件的使用. 一. 表单验证插件Validation jquery最常用的场合就是表单验证.Validation则是历史最悠久的jquery插件之一.分为内置验证规则,和自定义验证规则.信息提示明确--可以通过keyUp,focus等方…
jquery zoom是一款图片放大插件,经常用在商城商品页面里. 使用JQuery zoom插件,除了需要引入JQuery.js外,还要引入JQuery.zoom.js文件及jqzoom.css文件 <link rel="stylesheet" href="css/jqzoom.css" type="text/css" media="screen"> <script type="text/java…
[Node.js框架] 为什么要开发 Codekart 框架 两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后接触了Lisp.python.java.Ruby.Lisp几乎在语法和思想上达到了完美,但却由于过于小众和开发环境的不完善,导致基本找不到工作,也只能作为业余时间的写一些有趣的东西了.python的强制缩进,说实话相当于告诉程序员:嘿,你个SB!到底会不会排版?我一直坚定的认为,充分相信程序员给于程…
 1.jsonp跨域 Jsop的原理:利用script不存在跨域的问题,动态创建script标签,把需要请求的数据源地址赋值给其src属性,并且指定一个回调函数,从而接受到我们想要的数据 后台设置下 nodejs res.setHeader("Access-Control-Allow-Origin", "*");//设置随便跨域 2.微信分享图片的解决方案 用微信jssdk说明文档 3.mvc和mvvm的区别 https://segmentfault.com/a/1…
WordPress是我们使用最多的CMS程序之一,无论是我们的个人博客,还是企业网站,甚至中小型站点,我们都可以用WP程序部署.我们看到海外网站的时候,大部分都是用的WORDPRESS程序.在我们国人手中,可能大型网站不敢使用这个程序,因为占用资源大,容易消耗大量的服务器资源.这个问题主要是我们没有优化程序导致的,毕竟我们国内玩WP程序只是简单的表面,注重主题,而很少优化内核. 这里,我就来整理一些关于WORDPRESS提高性能的技巧内容,信息都来自网络上的. 提高WORDPRESS速度的7个技…
Full Stack, I'm coming. 有人说全栈只是个理想情况,但我不这么认为,因为好多思想是想通的, 比如 OO.函数式编程.设计模式... 也有人说搞全栈的人样样普通,可是为嘛我在学习js的时候反而加深了对面向对象的理解? 人的精力确实是有限的,一个时间段最好专注在一个方向突破:目前工作是后端接口开发,会尽力在上班时间把接手的乱麻代码顺顺干净,积累分布式业务处理策略的营养:16年下半年开始业余把重心放在前端js的研究上,接口项目直接和移动前端的小伙伴合作的,嗯 ,这个学习资源要好好…
  JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力..   小森执行一个函数  没有全局变量 写一个从10到0的倒计时   用console.log打印  不可以用 setInterval   小白..额,可以多次调用setTimeout()吗     某个被打败的神Function fn(a){console.log(a--);if(a>=0)   Settimeo…