学习Javascript的时候。遇到了一个问题。

看了牛腩的视频,感觉讲的太简单和基础,像认识一位新朋友。但仅有一面之缘就结束了。

再看姜浩的视频。又看得迷迷糊糊,让我找到了当初看两位台湾专家讲VB.net视频的感觉。学习显然不能到这儿就结束了。

结束了中间的自考之后,又翻了翻给的学习资料,发现还有不少关于Javascript的内容。相对视频。我还是更喜欢看书,由于书的结构能一目了然,能非常easy把握全局(也反映出一个问题。不少视频在开篇都没有非常系统地写出来究竟你都要讲什么,没有结构图这些明眼就能看出来的东西,仅仅是简单说几句就一带而过了)。

于是用半天的时间先看了一本基础的书,都是非常基础、非常浅显的东西,但基本说明了Javascript的框架内容。看的过程中,发现结构上还是“VB6.0的东西”。仅仅是语言的功能不同,应用不同罢了。

所以学习不同的语言事实上非常像一个CSS+HTML的过程,抽象出他们的样式(这个样式是类似的),分析不同的内容就能够了。

好了。看一下这张主要的JS导图吧。

要说的有下面几点:1、JS的对象;2、BOM和DOM。3、与CSS和HTML的关系。

1、Javascript作为一种基于对象的语言。没有类,所以它本身拥有非常多自身的对象。这些对象就相当于类的功能。如Math、Array这些内置对象和BOM、DOM这些对象模型。

上述是对象类型的简介,跟以往的语言比也算比較特殊的了,毕竟不用实例化。对其訪问也比較简单。就是普通的调用。来看看它的创建:

有两种方法:1、直接定义并创建对象的实例。2、使用函数来定义对象,然后创建新的对象实例。

样例:

fruit=new Object();
fruit.name="apple";
fruit.color="red";
fruit.weight=100;
/* 用方法一定义了一个水果对象,并创建了事实上例*/
function fruit(name,color,weight)
{
this.name=name;
this.color=color;
this.weight=weight;
}
/* 用另外一种方法定义了一个水果对象*/

创建该对象的实例:

var myfruit=new fruit("banana","yellow",100);  /* 方法二中水果对象的实例 */

2、BOM又叫浏览器对象模型。DOM叫文档对象模型。看名字就知道它们之间必定是有关系的,事实上,DOM也是一种BOM。为什么?看下图:

红色圈起来的是BOM,绿色的是DOM(也就是document下的部分),它们的连接点就是document项。每条竖线都相当于一个“调用”关系,上级调用下级。

BOM提供了独立于内容,而与浏览器进行交互的对象。描写叙述了与浏览器进行交互的方法和接口。能够对浏览器窗体进行訪问和操作。如弹出窗体,改变状态栏中的文本等。

在BOM中,window对象是核心。它表示整个浏览器窗体,但不必表示当中包括的内容。

DOM描写叙述了处理网页内容的方法和接口,它是HTML和XML的API,DOM把整个页面划成由节点层级构成的文档。

它本身是与语言无关的,且不与Java。Javascript等其它语言绑定。

在DOM中,document是核心。他也是window对象的一个属性。它由一系列集合构成。这些集合能够訪问文档的各部分。

3、网页的前台分为三个关系:内容、样式和行为,这些网页要素分别相应起来就是HTML(内容)、CSS(样式)、Javascript(脚本)。

HTML划分了不同的元素,也形成了不同的层次结构。使得各种元素都能获得标识;CSS利用这些标识改变HTML元素的样式,达到控制和布局的效果。Javascript则使这些元素活动起来,与用户交互,让HTML元素去“做事”。

这篇博客的定位还是0基础。简单梳理一下js的基本概况。以下几篇就是一些高级的内容了。包含一本内容比較高级的书和姜昊视频的梳理和总结。

JavaScript总结(二) 系统分析的更多相关文章

  1. 学习javascript数据结构(二)——链表

    前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...

  2. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  3. 从头开始学JavaScript (十二)——Array类型

    原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...

  4. 使用JavaScript生成二维码教程-附qrcodejs中文文档

    使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimjs/qrcodejs DIV <div id="qrco ...

  5. 同事问如何判断同花顺,我用javascript的二维数组写了个简易demo

    有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <s ...

  6. 2、JavaScript 基础二 (从零学习JavaScript)

     11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...

  7. Javascript面向对象二

    Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype. ...

  8. QrCode C#生成二维码 及JavaScript生成二维码

    一 C#的二维码    示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncode ...

  9. 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(二)

    JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. ...

  10. Javascript生成二维码(QR)

    网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...

随机推荐

  1. OrderAction

    package com.j1.mai.action; import java.io.BufferedReader; import java.io.IOException; import java.io ...

  2. mybati之parameterType传递多个参数

    当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...

  3. MVC第一节 配置

    1.View中的页面设置为起始页后导致404找不到文件. 解决方案:右键属性,把特定页置为空. 2.新建的MVC项目会把系统默认的浏览器作为浏览方式,如果想要改变的话.可以在项目中新建一个webFor ...

  4. OpenXML_导入Excel到数据库

    (1).实现功能:通过前台选择.xlsx文件的Excel,将其文件转化为DataTable和List集合 (2).开发环境:Window7旗舰版+vs2013+Mvc4.0 (2).在使用中需要用到的 ...

  5. myEclipse笔记(1):优化配置

    一.设置字体 Window->Preferences->General->Appearance->Colors and Fonts 在右侧找到”Aa Test Font”双击或 ...

  6. C++程序设计教程学习(1)-第一部分 编程基础

    第一章 概述 C++到底难不难学?没有学不会的事情 1.1 程序设计语言 语言 编程语言 人和计算机交流的工具,群体扩大,人人间交流过程描述与信息表达的工具 机器语言,汇编语言,高级语言 1.2 C+ ...

  7. 理解jquery的.on()方法

    jquery在的.on()方法用来给元素绑定事件处理函数的,我经常用在两个地方: 给未来的元素绑定事件:我总是这样用:$(document).on('click','#div1',function() ...

  8. python之7-3对象的信息/方法获取

    我们可以用dir()来获取一个类,一个模块,一个字符串的信息/方法 例如: #可以列出Image模块的方法 >>import Image >>dir(Image) #列出字符串 ...

  9. Python读取Yaml文件

    近期看到好多使用Yaml文件做为配置文件或者数据文件的工程,随即也研究了下,发现Yaml有几个优点:可读性好.和脚本语言的交互性好(确实非常好).使用实现语言的数据类型.有一个一致的数据模型.易于实现 ...

  10. Okhttp3日志采集功能

    原文地址以示尊重:http://www.jianshu.com/p/d836271b1ae4 日志采集是一个APP必备的功能,可以方便开发人员快速定位问题,解决问题,那么我们在使用okhttp的时候应 ...