JavaScript总结(二) 系统分析
学习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总结(二) 系统分析的更多相关文章
- 学习javascript数据结构(二)——链表
前言 人生总是直向前行走,从不留下什么. 原文地址:学习javascript数据结构(二)--链表 博主博客地址:Damonare的个人博客 正文 链表简介 上一篇博客-学习javascript数据结 ...
- 初探JavaScript(二)——JS如何动态操控HTML
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...
- 从头开始学JavaScript (十二)——Array类型
原文:从头开始学JavaScript (十二)--Array类型 一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = ne ...
- 使用JavaScript生成二维码教程-附qrcodejs中文文档
使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimjs/qrcodejs DIV <div id="qrco ...
- 同事问如何判断同花顺,我用javascript的二维数组写了个简易demo
有个前同事在群里问如何判断是否为同花顺我用javascript的二维数组写了个简易demo. <!DOCTYPE html> <html> <body> <s ...
- 2、JavaScript 基础二 (从零学习JavaScript)
11.强制转换 强制转换主要指使用Number.String和Boolean三个构造函数,手动将各种类型的值,转换成数字.字符串或者布尔值. 1>Number强制转换 参数为原始类型值的转换规 ...
- Javascript面向对象二
Javascript面向对象二 可以通过指定原型属性来对所有的对象指定属性, Object.prototype.name="zhangsan"; Object.prototype. ...
- QrCode C#生成二维码 及JavaScript生成二维码
一 C#的二维码 示例: class Program { static void Main(string[] args) { QrEncoder qrEncoder = new QrEncode ...
- 一篇文章图文并茂地带你轻松学完 JavaScript 设计模式(二)
JavaScript 设计模式(二) 本篇文章是 JavaScript 设计模式的第二篇文章,如果没有看过我上篇文章的读者,可以先看完 上篇文章 后再看这篇文章,当然两篇文章并没有过多的依赖性. 5. ...
- Javascript生成二维码(QR)
网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成.本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对不住服务器,尤其是对于大流量的网 ...
随机推荐
- [Linux 小技巧] Ubuntu 14.04 下编译、安装、配置最新开发版 GoldenDict
1. 背景介绍 GoldenDict 是一款非常优秀的跨平台电子词典软件,支持 StarDict.Babylon 等多种词典.其 PC 版基于 Qt 编写,完全免费.开源且没有广告.GoldenDic ...
- source insight3.5中文乱码解决方案
source insight3.5中文乱码,网上看别人说改变宽字体.宋体等方法都不起效.根本原因是,source insight 3.5 不支持Unicode编码,所以导致中文的乱码,将文件转为gb2 ...
- Java初转型-MavenWEB项目搭建
http://www.cnblogs.com/xdp-gacl/p/4054814.html
- 小学生之手(01)之 "for循环"
---恢复内容开始--- 咳咳咳!第一次要写这种东西,要是有不足的地方,请见谅!!!并且感觉在这班门弄斧是不是有点托大了.一向擅长低调的我,在’被逼无奈‘之下,要嚣张一下了......(此处省略500 ...
- pd的django个人博客教程----1:效果展示等
开发环境同to do list 1:首页:localhost/pd/ 2:导航栏测试或者生活点入: 测试:localhost/category/?cid=1 3:点击文章后进入文章显示页面 e.g:进 ...
- C#--virtual,abstract,override,new,sealed
virtual:使用此关键字,可以使其在派生类中被重写. abstract:抽象方法,由子类重写,或继续为抽象方法存在,并由其子子类实现. override: 重写父类方法,属性,或事件的抽象实现或虚 ...
- shell中的eval
eval语法 eval arg1 arg2 ... eval的作用就是将后面的参数arg1 arg2等等当成一个pipeline,然后重新执行shell处理pipeline的流程(有关pipeline ...
- Kendo Web UI Grid添加一个html控件如(checkbox,button)
在Kendo Web UI Grid增加一个控件如效果图: <div id="grid1"></div><script> $("#gr ...
- VS2013配合EgretVS开发简单塔防游戏
VS2013配合EgretVS开发简单塔防游戏(1) - 环境配置 VS2013配合EgretVS开发简单塔防游戏(2) – 原型设计 VS2013配合EgretVS开发简单塔防游戏(3) – 精灵动 ...
- ARM 之FIQ(快速中断) IRQ(中断)
IRQ,FIQ定义: 这就是个普通中断,当我们程序定义了该中断,并且在程序运行的时候产生了IRQ中断,则此时的芯片是这样运行的------中断处理器吧利用IRQ请求线来高速ARM,ARM就知道有个I ...