@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章 简介的更多相关文章

  1. Javascript模式(第一章简介)------读书笔记

    一:模式 模式是一个通用问题的解决方案,可以提供一个更好的实践经验.有用的抽象化表示和解决一类问题的模板. 本书主要讨论如下三种类型的模式 1 设计模式:可复用面向对象软件的基础,包括singleto ...

  2. 读书笔记 - javascript 高级程序设计 - 第一章 简介

      第一章 简介   诞生时间 1995 最初用途 客服端验证 第一版标准 注意是标准 1997年 Ecma-262  一个完整的js实现由三部分组成 ECMAScript DOM 文档对象模型 BO ...

  3. Javascript模式(第二章基本技巧)------读书笔记

    本章主要帮助大家写出高质量的JS代码的方法,模式和习惯,例如:避免使用全局变量,使用单个的var变量声明,缓存for循环的长度变量length等 一.尽量避免使用全局变量 1 每一个js环境都有一个全 ...

  4. 【读书笔记】读《JavaScript模式》 - 函数复用模式之现代继承模式

    现代继承模式可表述为:其他任何不需要以类的方式考虑得模式. 现代继承方式#1 —— 原型继承之无类继承模式 function object(o) { function F() {}; F.protot ...

  5. JST(JavaScript Trimpath)前端模板引擎简介

    JST(JavaScript Trimpath)前端模板引擎简介及应用 今天在做某系统日志列表的时候用到了这个玩意儿.刚开始只是根据别人的例子照葫芦画瓢完成了日志列表及对应详情,晚上有空了才仔细去网上 ...

  6. 初涉JavaScript模式系列 阶段总结及规划

    总结 不知不觉写初涉JavaScript模式系列已经半个月了,没想到把一个个小点进行放大,竟然可以发现这么多东西. 期间生怕对JS的理解不到位而误导各位,读了很多书(个人感觉JS是最难的oo语言),也 ...

  7. AngularJS——第1章 简介

    第1章 简介 由谷歌公司开发维护的前端MVC框架,克服了HTML在构建应用上的诸多不足,降低了开发成本,提高了效率. 一个框架 以数据和逻辑作为驱动 AngularJS核心特性:模块化,双数据绑定,语 ...

  8. javascript进阶课程--第二章--对象

    javascript进阶课程--第二章--对象 学习要点 理解面向对象的概念 掌握对象的创建方法 掌握继承的概念和实现方法 基本概念 对象究竟是什么?什么叫面向对象编程? 对象是从我们现实生活中抽象出 ...

  9. 《JavaScript 模式》知识点小抄本(下)

    介绍 最近开始给自己每周订个学习任务,学习结果反馈为一篇文章的输出,做好学习记录. 这一周(02.25-03.03)我定的目标是<JavaScript 模式>的第七章学习一遍,学习结果的反 ...

随机推荐

  1. Spark(2) - Developing Application with Spark

    Exploring the Spark shell Spark comes bundled with a PERL shell, which is a wrapper around the Scala ...

  2. PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签

    新的测试版增强了合并文件的功能,可以合并文件夹内的图片和PDF文件,还可以在合并文件列表上直接指定与合并文件对应的PDF书签标题.通过拖放文件项目生成多层次的PDF书签.如下图所示: 另外,新的测试版 ...

  3. Centos 6.2 安装mysql5.5

    1.  安装mysql 相关依赖库(没有的话就安装,有就不用安装了) 通过 rpm -qa | grep name 的方式验证以下软件包是否已全部安装. gcc* gcc-c++* autoconf* ...

  4. java 面向对象编程 第18章——网络编程

    1.  TCP/IP协议模型 应用层:应用程序: 传输层:将数据套接端口,提供端到端的通信服务: 网络互联层:负责数据包装.寻址和路由,同时还包含网间控制报文协议: 网络接口层:提供TCP/IP协议的 ...

  5. ionic build --release android

    ionic bulid android ionic build --release android keytool -genkey -v -keystore demo.keystore -alias ...

  6. RM报表里的变量

    // RMVariables['JEDT']:= InvoiceJeDx('123.55', 1); 这个是整个程序的全局变量 // RMReport2.Dictionary.Variables['J ...

  7. Unity4.3.3激活

    Unity4.X Win版本的破解方法: <ignore_js_op> 1.安装unity4.X,一路按提示下一步,要断网,直到激活运行软件后再联网2.将Unity 4.x Pro Pat ...

  8. Visual Studio Ultimate 2013 with Update 4

    Visual Studio Ultimate 2013 with Update 4 是一个先进的开发解决方案,各种规模的团队通过它均可设计和创建引人注目的应用程序,使用户兴致勃勃. Visual St ...

  9. SVN服务器配置实战

    [需求] 为公司多个部门建立的SVN仓库compay 公司部门和人员构成 A部门 (zhangsan,lisi,wanger,mazi) B部门(jia,yi,bing,ding) C部门(chun, ...

  10. Oracle Data Integrator与OWB的集成及迁移

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...