Javascript学习笔记1 javascript的特点
。。对于网页而言,Javascript无处不在,对于英语不好的人它简直是噩梦般的存在,但形式所逼,今天开始着手学习!希望自己能坚持下去。
从什么地方着手,我的目标是从大处着眼,从应用着眼,不抠细节,反正细节也记不住,到用到的时候在抠。
尽管编程是外行,也积累了一些常识,所以就从javascript的特点开始学习。
一、什么是Javascript?
JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有相对安全性的客户端脚本语言。
这个定义非常好,几乎涵盖了Javascript的特点。
1、Javascript是脚本语言
脚本(Script)是一种纯文本保存的程序,脚本简单地说就是一条条的文字命令,脚本程序在执行时,需要一个解释器,将其一条条的翻译成机器可识别的指令,并按程序顺序执行。Javascript脚本的解释器叫Javascript解释器,它包含在浏览器中,由于浏览器的种类和版本不同,解释出来的东西也有区别,为了让大部分浏览器都能解释我们编写的脚步,目前我们不得不针对不同浏览器编写不同的脚本,所以很多时候Javascript是啰里啰嗦的。Javascript是顺序的解释性语言,它不像C,JAVA那样需要先编译。
跨平台:JavaScript依赖于浏览器本身,JavaScript跨平台,是因为主流浏览器有JavaScript解释器。
2、基于对象
基于对象,这个说法挺有趣,现在还有人在讨论Javascript是不是面向对象的语言,因为它的语法中没有class(类)。我们就把它理解成一种特殊的面向对象编程(OOP)语言吧,在 JavaScript 中,对象无处不在,几乎所有的东西都是对象,字符串、数值、数组、函数,日期,Boolean,RegExp(正则表达式),Null也是一个对象。对象是拥有属性和方法的数据。内建对象可以直接使用其属性和方法,是不是很方便呢?
3、事件驱动
JavaScript与HTML之间的交互是通过事件实现的,当我们与浏览器中 Web 页面进行某些类型的交互时(如点击按钮,鼠标滑过),事件就发生了。事件是发生在DOM上的,是DOM的重要组成部分,通过使用 JavaScript ,可以监听特定事件(DOM事件)的发生,并规定这些事件做出什么响应。
4、相对安全
JavaScript不被允许访问本地的硬盘,且不能将数据存入服务器,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失或对系统的非法访问。
二.JavaScript能做什么
JavaScript 被数百万计的网页用来改变样式、验证表单、检测浏览器、创建cookies,制作网页特效(如漂浮、滚动、滑动门等等),万年历,在线编辑器,js游戏, 同服务器进行数据交互(AJAX)......
三、JavaScript 三个组成部分
核心(ECMAScript)
文档对象模型(DOM)
浏览器对象模型(BOM)
ECMAScript 描述了以下内容:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 运算符
- 对象
ECMAScript 仅仅是一个描述,定义了脚本语言的所有属性、方法和对象
DOM(文档对象模型)是 HTML 和 XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档。HTML 或 XML 页面的每个部分都是一个节点的衍生物。DOM 通过创建树来表示文档,从而使开发者对文档的内容和结构具有空前的控制力。用 DOM API 可以轻松地删除、添加和替换节点。
浏览器对象模型(BOM)
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
- 弹出新的浏览器窗口
- 移动、关闭浏览器窗口以及调整窗口大小
- 提供 Web 浏览器详细信息的定位对象
- 提供用户屏幕分辨率详细信息的屏幕对象
- 对 cookie 的支持
- IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。
Javascript学习笔记1 javascript的特点的更多相关文章
- Javascript学习笔记3 Javascript与BOM简介
什么是BOM BOM是browser object model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象 ...
- JavaScript学习笔记(4)——JavaScript语法之变量
一.变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume). 变量必须以字母开头 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做 ...
- JavaScript学习笔记(12)——JavaScript内置对象
1.Number Javascript只有一种数字类型,可以有小数也可以没有,也可以使用科学计数法. var z=123e-5; // 0.00123 JavaScript 不是类型语言.与许多其他编 ...
- JavaScript学习笔记(12)——JavaScript自定义对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- JavaScript学习笔记(10)——JavaScript语法之操作DOM
1.页面输出用document.write()方法,但是不可以在window.onload中用,否则整个html页面将被覆盖. 2.通过javascript获取对象后,改变对象中的html内容:doc ...
- JavaScript学习笔记(9)——JavaScript语法之流程控制
javascript的流程控制语句与大部分类c语言一致.大致如下: 一.if if...else if...else if....else if....else..... 二.switch(变量){ ...
- JavaScript学习笔记(7)——JavaScript语法之函数
函数就是包裹在花括号中的代码块,前面使用了关键词 function: function functionname() { //这里是要执行的代码 } 当调用该函数时,会执行函数内的代码. 可以在某事件 ...
- JavaScript学习笔记(6)——JavaScript语法之对象
JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据. 属性是与对象相关的值. 方法是能够在对象上执行的动作. 提示: ...
- JavaScript学习笔记(5)——JavaScript语法之数据类型
JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: var x // x 为 undefined var x = 6; // x 为数字 var x = "Bill&q ...
随机推荐
- Mac中安装node.js和npm
换了Mac需要安装noed.js和npm记录一下首先访问node.js官网(https://nodejs.org/en/download/) 点击下载完后,一路点安装 就安装完成了 然后打开-终端-输 ...
- 接触Matlab5年一个总结(Matlab要掌握的一些要点 )
阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...
- ZJOI2007矩阵游戏
题目描述 小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个N*N黑白方阵进行(如同国际象棋一般,只是颜色是随意的).每次可以对该矩阵进行两种操作: 行交 ...
- Expression2Sql的一些语法更新
前言 前一阵子给大家介绍了一个可以将Expression表达式树解析成Transact-SQL的项目Expression2Sql. 之后得到了广大读者的一些好评,也使得博主更有动力继续更新下去,然后一 ...
- 初识CEF
介绍 CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目.Google Chromium项目主要是为Google Chrome应用开 ...
- Command调用存储过程小实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- IE11 iframe alternative
<OBJECT classid=clsid:8856F961-340A-11D0-A96B-00C04FD705A2> <PARAM NAME=Location VALUE=http ...
- linux文件系统,文件的分类
从硬盘的构造可知,每次对物理磁盘的访问的最小单位是一个盘面上的一个磁道的扇区,即使用户需要读取一个字节的数据,实际读写时都是先把该字节所在的扇区读读入到内存,然后再访问. 1.普通文件 2.目录文件 ...
- quantile normalization原理
对于芯片或者其它表达数据来说,最常见的莫过于quantile normalization啦. 那么它到底对我们的表达数据做了什么呢?首先要么要清楚一个概念,表达矩阵的每一列都是一个样本,每一行都是一个 ...
- 后台返回国标码,怎么转化为JSON
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFHTTP ...