javascript精粹一句话摘要(持续添加中。。。。)
来源:互联网 发布:卖家淘宝客app 编辑:程序博客网 时间:2024/05/18 05:43
闲暇时又翻出以前读过的书翻看起来,突然间有一句话闪过脑海不能用几句话解释清楚的概念就等于不知道。诚惶诚恐的连忙把那些不能用几句话解释清楚的概念从书中摘录了下来,以备以后再次诚惶诚恐的时候拿来做一下挡箭牌。。。
js的简单数据类型包括数字,字符串,布尔值,null,undefined。其他所有的值都是对象。
在javascript中只有6种数据类型,5种简单数据类型,1种复合数据类型。
在对象的字面量中,如果属性是一个合法的javascript标示符且不是保留字,则并不强制要求用引号括住属性名。
{first_step:1,"second-step":2}
对象通过引用传递,他们永远不会被复制。
简单数据类型复制实体,复合数据类型复制指针。
只要把全局性资源都纳入一个命名空间之下 ,你的程序与其他程序,组件,类库发生冲突的可能性就显著降低。
其他还可以通过闭包的方式来减少全局变量的影响。
对象字面量产生的对象连接到Object.prototye,函数对象链接到Function.prototype。
function是怎么来的。。。
每个函数在创建时会附加两个隐藏属性:函数的上下文和实现函数行为的代码,同时也随配有一个prototype属性。
继续,function是怎么来的
调用一个函数时会暂停当前函数的执行,传递控制权和参数给新的函数。当一个函数被调用时,他从第一个语句开始执行,并在函数结束}或return时结束,然后控制权交还给调用函数
function test(){for(var i=0;i<10000;i++){if((i%1000)==0){console.log(i)}}}(function(){test();test();test();})();结果就是按照顺序打印了三遍
参数this在面向对象的编程中非常重要,他的值取决于调用的模式
后面写到了函数的四种调用方式:方法调用模式(对象点),函数调用模式(全局函数),构造器调用模式(new function点),apply,call调用。鉴于this比较重要,因此特意写下了一些笔记。
一个函数总会返回一个值,如果没有制定返回值,则返回undefined。如果函数在调用时前面加上了new,且函数的返回值不是一个对象,则返回this。
function test(){this.pro="hello world";return this.pro;}function test1(){this.pro="hello world";return new Date();}console.log(new test());console.log(new test1());
结果是第一次返回的是test,第二次是返回一个时间。
模块是一个提供接口却隐藏状态与实现的函数或对象
简单而言就是在外部域申明属性和方法,利用内部域对外部域具有访问的权利,返回给调用者,而且那些写在外部域的属性或方法在其他地方是没有访问权限的。
//counter作为一个计数器,如果写在全局域,则就可能失去了准确性。var instance=outer();instance.add();instance.report();//1instance.add();instance.report();//2instance=null;instance=outer();instance.add();instance.report();//1instance.add();instance.report();//2tip:闭包确实能够起到控制访问权限的作用,不过他会形成指针的相互引用造成内存不被释放,因此在确保使用完成后,手动释放内存。
函数化
通过一个方法,将对象封装在一个定义域内,通过返回的对象获得读写原对象的权限(还是使用闭包完成访问权限的问题)
这里会有些想法,可是还没完全想好。。。
js没有一个好的机制来区别数组和对象
var is_array=function(target){return Object.prototype.toString.apply(target)}console.log(is_array([]));console.log(is_array({}));
- javascript精粹一句话摘要(持续添加中。。。。)
- 各种一句话(持续更新)
- JavaScript语言精粹(修订版)
- javascript语言精粹(笔记)
- datagrid的用法(持续添加中)
- linux 学习笔记(持续添加中。。。)
- Java 学习记录(持续添加中。。。)
- spark 小笔记(持续添加中)
- 一句话(非javascript)在页面中加入自动跳转
- JavaScript精粹
- javascript精粹
- JavaScript精粹
- javascript精粹
- 实用的JavaScript(持续添加)
- Javascript 兼容性问题(持续更新中)
- javascript最佳实践(持续中....)
- Javascript排序算法(持续更新中...)
- Unity—项目开发中常用模块(吐血整理笔记摘要)--------持续更新中... ...
- 开源的 思维导图软件
- window2008架设VPN服务器
- Android MMS模块数据存取
- svn插件 myeclipse
- 隐藏文件上传按钮前面的输入框,美化文件模拟ajax上传。并预览图片
- javascript精粹一句话摘要(持续添加中。。。。)
- 【CakePHP】21条经验总结
- Ubuntu 系统中设置环境变量 PATH 的方法
- XSS介绍与攻击
- TDD笔录
- 从多方面理解 Android 体系结构
- MyEclipse快捷键及经验总结 绝对的有用 太给力了
- ilovelucy1314@sina.cn
- 秘密显示技术:戴上眼镜才能看到你的内容