《JavaScript模式》第1章 简介
@by Ruth92(转载请注明出处)
第1章 简介
模式
模式:是指一个通用问题的解决方案。
- 设计模式
- 编码模式
- 反模式:常见的、引发问题比解决的问题更多的一种方法。
JavaScript 基本概念
JS 五基本种类型(不是对象):
数值类型(
number
)字符串类型(
string
)布尔类型(
boolean
)空类型(
null
)未定义类型(
undefined
)其中,
number
,string
,boolean
有对应的以基本类型封装形式体现的对象表示,它们的值可以通过程序员或者位于幕后的 JavaScript 解析器来实现向对象的转换。
在 JavaScript 中,一旦定义好了变量,同时也就已经正在处理对象了。
首先,该变量会自动成为内置对象的一个属性,成为激活对象。
该变量实际上也是伪类,因为它拥有其自身的属性,该属性决定了该变量是否可以被修改、被删除和在一个 for-in 循环中进行枚举。
对象:一个对象仅仅是一个容器,该容器包含了命名的属性、键-值对(大多数)的列表,其中的属性可以是函数(函数对象,函数有属性和方法)。
对象主要有两种类型:
原生的——ECMAScript标准中描述;
主机的——在主机环境中(如浏览器环境)定义
原生的对象可以进一步分为:内置对象(如数组、日期对象等)和用户自定义对象(如 var o = {} 等)
主机对象包含 windows 对象和所有的 DOM 对象。
没有类
一个“空对象”实际上并不是完全空白的,它实际上是包含有一些内置的属性,但是没有其自身的属性。
"Gang of Four"书中的一条通用规则:
尽量多使用对象的组合,而不是使用类的继承。——>通过已有的对象组合来获取新对象,是比通过很长的父-子继承链来创建新的对象更好的一种方法。
Console
该对象不是 JavaScript 语言的一部分,而是指当今大多数浏览器都提供的一个运行环境。
log()
方法:打印所有传递过来的参数;
console.log('test', {}, [1,2,3]);
dir()
方法:枚举传递过来的对象,并打印出所有属性。
console.dir({one:1, two:{three:3}});
《JavaScript模式》第1章 简介的更多相关文章
- Javascript模式(第一章简介)------读书笔记
一:模式 模式是一个通用问题的解决方案,可以提供一个更好的实践经验.有用的抽象化表示和解决一类问题的模板. 本书主要讨论如下三种类型的模式 1 设计模式:可复用面向对象软件的基础,包括singleto ...
- 读书笔记 - javascript 高级程序设计 - 第一章 简介
第一章 简介 诞生时间 1995 最初用途 客服端验证 第一版标准 注意是标准 1997年 Ecma-262 一个完整的js实现由三部分组成 ECMAScript DOM 文档对象模型 BO ...
- Javascript模式(第二章基本技巧)------读书笔记
本章主要帮助大家写出高质量的JS代码的方法,模式和习惯,例如:避免使用全局变量,使用单个的var变量声明,缓存for循环的长度变量length等 一.尽量避免使用全局变量 1 每一个js环境都有一个全 ...
- 【读书笔记】读《JavaScript模式》 - 函数复用模式之现代继承模式
现代继承模式可表述为:其他任何不需要以类的方式考虑得模式. 现代继承方式#1 —— 原型继承之无类继承模式 function object(o) { function F() {}; F.protot ...
- JST(JavaScript Trimpath)前端模板引擎简介
JST(JavaScript Trimpath)前端模板引擎简介及应用 今天在做某系统日志列表的时候用到了这个玩意儿.刚开始只是根据别人的例子照葫芦画瓢完成了日志列表及对应详情,晚上有空了才仔细去网上 ...
- 初涉JavaScript模式系列 阶段总结及规划
总结 不知不觉写初涉JavaScript模式系列已经半个月了,没想到把一个个小点进行放大,竟然可以发现这么多东西. 期间生怕对JS的理解不到位而误导各位,读了很多书(个人感觉JS是最难的oo语言),也 ...
- AngularJS——第1章 简介
第1章 简介 由谷歌公司开发维护的前端MVC框架,克服了HTML在构建应用上的诸多不足,降低了开发成本,提高了效率. 一个框架 以数据和逻辑作为驱动 AngularJS核心特性:模块化,双数据绑定,语 ...
- javascript进阶课程--第二章--对象
javascript进阶课程--第二章--对象 学习要点 理解面向对象的概念 掌握对象的创建方法 掌握继承的概念和实现方法 基本概念 对象究竟是什么?什么叫面向对象编程? 对象是从我们现实生活中抽象出 ...
- 《JavaScript 模式》知识点小抄本(下)
介绍 最近开始给自己每周订个学习任务,学习结果反馈为一篇文章的输出,做好学习记录. 这一周(02.25-03.03)我定的目标是<JavaScript 模式>的第七章学习一遍,学习结果的反 ...
随机推荐
- SqlHelper帮助类
数据库连接字符串//Data Source=.;Initial Catalog=Test1;User Id=sa;Password=123456; public static class SqlHel ...
- 经验分享:使用 Restyle.js 简化 CSS 预处理
Andrea Giammarchi的restyle.js是一个新的,基于JavaScript的CSS预处理器,能够运行在服务端(通过Node.js)或者浏览器中.它宣称自己是“一种简化的CSS方法”, ...
- css3内容溢出属性
overflow是css2.0的属性,css3中新增了overflow-x和overflow-y属性. overflow-x主要是用来定义对水平方向内容溢出的剪切,而overflow-y主要是用来定义 ...
- loadrunner 参数化数据更新方式
数据分配方式: Select next row[选择下一行]: 顺序(Sequential):按照参数化的数据顺序,一个一个的来取. 随机(Random):参数化中的数据,每次随机的从中抽取数据. 唯 ...
- jQuery实现图片延迟加载
html: <img src ="占位图路径" data-original="真实图片路径" /> js: $("img").l ...
- python 爬虫
import urllib2 as url import re urls = 'http://www.php100.com/html/it/' headers = {'User-Agent':'Moz ...
- NoSQL分类
NoSQL数据库分类: NoSQL DEFINITION:Next Generation Databases mostly addressing some of the points: beingno ...
- S1 : 传递参数
ECMAScript 中所有函数的参数都是按值传递的.也就是说,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样.基本类型值的传递如同基本类型变量的复制一样,而引用类型值的传 ...
- Rhel6-haproxy+keepalived配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119:haproxy,keepalived server19.exa ...
- subline快捷键
折叠所有代码: 按ctrl+k,再按ctrl+1 展开所有代码: 按ctrl+k,再按ctrl+j 折叠此处代码: ctrl+shift+[ 展开此处代码: ctrl+shift+]