学习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. POJ 1386 有向图欧拉通路

    题意:给你一些字符串,这些字符串可以首位相接(末位置如果和另一个字符串的首位置相同的话就可以相连) .然后问你是否可以全部连起来. 思路:就是取出每个字符串的首尾位置,然后求出出度和入度,根据有向欧拉 ...

  2. 服务 远程服务 AIDL 进程间通讯 IPC

    Activity aidl接口文件 package com.bqt.aidlservice;  interface IBinderInterface {     /* 更改文件后缀为[.aidl]去掉 ...

  3. Calendar( 日历)

    本节课重点了解 EasyUI 中 Canlendar(日历)组件的使用方法,这个组件不依赖于其他组件.一. 加载方式//class 加载方式<div id="box" cla ...

  4. wed网页开发面试笔试必备小知识

    HTML中行内元素与块级元素的区别: 在标准文档流里面,块级元素具有以下特点: ①总是在新行上开始,占据一整行: ②高度,行高以及外边距和内边距都可控制: ③宽带始终是与浏览器宽度一样,与内容无关: ...

  5. javascript 冒泡和事件源 形成的事件委托

    冒泡:即使通过子级元素的事件来触发父级的事件,通过阻止冒泡可以防止冒泡发生. 事件源:首先这个东西是有兼容行问题的,当然解决也很简单. 两者结合使用,形成的事件委托有两个优势: 1.减少性能消耗: 2 ...

  6. pd的django个人博客教程----1:效果展示等

    开发环境同to do list 1:首页:localhost/pd/ 2:导航栏测试或者生活点入: 测试:localhost/category/?cid=1 3:点击文章后进入文章显示页面 e.g:进 ...

  7. (转)弹出窗口lhgDialog API文档

    应用到你的项目 如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用, ...

  8. C#--对象的相等比较

    对象相等比较机制对于引用类型的变量和值类型的变量来说是不同的,下面分别介绍引用类型和值类型的相等比较. 首先来看System.Object的部分定义: public class Object { // ...

  9. C#高级知识点概要(1) - 委托和事件

    本文目录: 委托 委托的简单使用 用委托实现插件式编程 多播委托 静态方法和实例方法对于委托的区别 泛型委托 Func 和 Action 委托 委托的兼容 事件 事件的基本使用 事件的标准模式 委托 ...

  10. JDK + Tomcat 安装配置

    学习Java 开发的第一步就是配置环境,今天第一次配置,把过程记录下以备后用. 一.下载JDK.Tomcat JDK:http://www.oracle.com/technetwork/java/ja ...