@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. 手动实现ArrayList

    public interface List { public void insert(int i,Object obj)throws Exception; public void delete(int ...

  2. win7_64bit下桌面及开始菜单中图标变为.lnk

    以下内容参考整理与MSDN: 1.首先 win+r 2.打开运行程序 3.输入: regedit 4.找到: 计算机\HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WIND ...

  3. 铁人系列(2)LA2218

    思路:对于每个人  都会有n-1个半片面  加上x>0,y>0,1-x-y>0(这里的1抽象为总长) 代码是粘贴的  原来写的不见了  orz............ // LA22 ...

  4. 利用百度地图开源sdk获取地址信息。

    注册百度开发者帐号,下载相关sdk 添加权限: 添加百度注册访问应用(AK)码 添加源代码文件到libs文件: 代码如下: package com.lixu.baidu_gps; import com ...

  5. POJ 3009 Curling 2.0 回溯,dfs 难度:0

    http://poj.org/problem?id=3009 如果目前起点紧挨着终点,可以直接向终点滚(终点不算障碍) #include <cstdio> #include <cst ...

  6. 二模 (10)day1

    第一题: 题目描述: 一个阅览室每天都要接待大批读者.阅览室开门时间是0,关门时间是T.每位读者的到达时间都不一样,并且想要阅读的刊物不超过5本.每位读者心里对自己想看的刊物都有一个排位,到达之后他会 ...

  7. select2去除搜索框

    $("#type_select").select2({ minimumResultsForSearch: -1 });

  8. jquery表单提交和重置

    $('#myform').submit() 表单提交 $('#myform')[0].reset() 表单重置

  9. bzoj 2154 莫比乌斯反演求lcm的和

    题目大意: 表格中每一个位置(i,j)填的值是lcm(i,j) , 求n*m的表格值有多大 论文贾志鹏线性筛中过程讲的很好 最后的逆元我利用的是欧拉定理求解的 我这个最后线性扫了一遍,勉强过了,效率不 ...

  10. WordPress 4.0 “Benny” 正式发布

    http://wordpress.org/news/2014/09/benny/Highlights and What’s New:http://codex.wordpress.org/Version ...