Javascript高级程序设计
章柏华
这个作者很懒,什么都没留下…
展开
-
一、JavaScript的实现
1、Netscape公司的布兰登.艾奇开发了JavaScript,然后微软又开发了JSscript(其实就是Javsscript)。这样两家公司开发了同一个脚本语言,为了避免这种相同语言,而实现的语法和特性不一样。ECMA组织就定义了一个ECMAscript的新语言的标准。规定的内容有:语法、类型、语句、关键字、保留字、操作符、对象ECMAscript就是一个语言的标准,要有上面这些内原创 2017-06-09 00:31:30 · 209 阅读 · 0 评论 -
七、1、函数表达式
一、私有变量function MyObject(){//私有变量和私有函数 var privateVariable = 10; function privateFunction(){ return false; }//特权方法 this.publicMethod = function (){原创 2017-06-13 16:35:03 · 341 阅读 · 0 评论 -
六、2、继承的几种方式
一、原型链继承 function SuperType(){ this.colors = ["red", "blue", "green"]; } function SubType(){ } //继承了 SuperType SubType.prototype = new SuperType(); var instance1 =原创 2017-06-13 10:47:51 · 183 阅读 · 0 评论 -
六、2、创建对象模式
一、工厂模式function createPerson(name,age,jpb){ var o=new Object(); o.name=name; o.job=job; o.sayName=function(){ console.log(this.name); } return o;}var person1=createPerson("Nicholas",29,"So原创 2017-06-12 18:00:04 · 185 阅读 · 0 评论 -
六、1、对象属性的四种特性
var person=new Object();person.name="Nicholas";person.age=29;person.sayName=function(){ alert(this.name);}上面创建了一个person属性对象,他的name属性有四种特性。[[Configurable]] 能否删除修改这个name属性[[Enumerable]] 表示原创 2017-06-12 13:25:17 · 435 阅读 · 0 评论 -
四、5、Date类型及方法
var now=new Date(); // Sat Jun 10 2017 21:41:07 GMT+0800 (中国标准时间)自动获取当前时间和日期Date.parse() 和 Date.parse()接受一个表示日期的字符串,然后返回距离1970年1月1日的毫秒数,比如:Date.parse('8/12/2017'); //距离1970年1月1日 15024原创 2017-06-10 22:08:39 · 255 阅读 · 0 评论 -
四、4、数组方法
一、检查数组检查一个变量是不是数组instanceof 用法 value instanceof Array isArray() 用法 Array.isArray(value) 二、转换方法toString() valueOf() toLocaleString()这三个方法一般都是隐式调用,toString()用于数组的时候都是将数组中的值用逗号分隔开原创 2017-06-10 20:42:42 · 242 阅读 · 0 评论 -
四、3、toString和valueOf的区别
参考链接:http://www.cnblogs.com/imwtr/p/4392041.htmlhttp://blog.csdn.net/cct418/article/details/50889987http://www.cnblogs.com/peakleo/p/6248242.html总结一句话:当输出需要是字符串的时候调用toString(),当输出需要是数字时调用valueOf原创 2017-06-10 18:03:49 · 411 阅读 · 0 评论 -
四、2、JavaScript的垃圾收集
标记清除:JavaScript垃圾回收,释放内存,基本用的就是标记清除。意思就是在代码运行之前,每一个变量就会存储在内存中,然后垃圾清除器就会用标记清除法给每一个内存中的变量打上一个标记。然后每一次进去函数环境中执行时,遇到函数环境中的变量,就会在内存中找到这个变量,然后取消他的标记。当函数执行完之后,环境被退出时,又会在内存中将函数里面的变量重新打上标记。然后垃圾清除器就回收内存中被取消标记原创 2017-06-10 13:35:01 · 168 阅读 · 0 评论 -
四、1、函数参数是按值传递还是按引用传递
参考链接:https://www.zhihu.com/question/27114726http://bosn.me/js/js-call-by-sharing/ 基本类型在函数参数中肯定是按值传递,重点是引用类型按什么传递?高程中给出的是不管是基本类型还是引用类型在函数参数中都是按值传递。但是出现了以下这种情况:function setName(obj){ obj.nam原创 2017-06-10 01:23:07 · 383 阅读 · 0 评论 -
二 3、数值转换
isNaN() 判断能不能转换成数值,能转换就是false,不能转换就是trueNumber() 转化为数值parseInt() 转化为整数,有两个参数,第一个是要转换的数据,第二个是要转换为几进制parseFloat()转化为小数前++和后++后++是在包含它们的语句被求值之后才执行的原创 2017-06-09 18:09:05 · 218 阅读 · 0 评论 -
二、2、ASCII,Unicode和UTF-8
参考文章 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html计算机存储信息都是用二进制方式(0和1),1个二进制有两种状态,八个二进制有256种状态,就是一个字节。ASCII是对英文和和二进制之间的做了一个统一的规定,用ASCII表示一个英文字母,这样就方便存储到计算机上面。Unicode:ASC原创 2017-06-09 15:24:27 · 237 阅读 · 0 评论 -
二、1、defer 和 async区别
1、defer 和 async区别参考链接 :https://segmentfault.com/q/1010000000640869http://www.10tiao.com/html/293/201703/2651226247/1.htmldefer 和 async在浏览器中都是异步加载,意思就是不会阻塞dom结构的生成区别就是有defer脚本文件会在html文档DOM结构渲染完原创 2017-06-09 13:30:23 · 204 阅读 · 0 评论 -
五、1、正则表达式
转载链接:https://segmentfault.com/q/1010000006661187http://www.cnblogs.com/light169/archive/2006/10/18/532347.htmlexec一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回null)。test一个在字符串中测试是转载 2017-06-11 21:58:25 · 278 阅读 · 0 评论