JAVASCRIPT

http://blog.csdn.net/yourtommy/article/details/7559725

http://www.w3school.com.cn/js/index.asp

http://www.w3schools.com/js/ 


Basic

语法

javascript与java语法相似 CaseSensetive

注释://,/* */。

标识符(变量名、函数名、标签名):字母数字_、和$的组合,数字不能开头。

关键字:break、case、catch、continue、default、delete、do、else、false、finally、for、function、if、in、instanceof、new、null、return、switch、this、throw、true、try、typeof、var、void、while、with

预留关键字:abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、implements、import、int、interface、long、native、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile

变量:var i=1+2+3; // var x=3, message="ok"。变量无类型,可以包含任何数据类型的值;声明在函数外的全局变量对整个javascript程序可见,声明在函数内的局部变量只在函数域内可见。javascript没有块级域的概念:定义在花括号里的变量在外部仍可见。

数据类型数字(1、3.14、0xFF,用isNaN函数测试一个值不是数字);布尔(true、false);字符串('hello'、"OK"、'and "nested" ',16位unicode字符集);对象(var o = new Object()、var o={x:1, y:2, z:3}、o.x=1、o["x"]=1);数组(var a = new Array()、var a = new Array(1,2,3)、var a = [1, 2, 3]、var b = [1, true, [1,2], {x:1,y:2}, "OK"]、a[1]=a[0]+a[2])

函数:function sum(x,y) { return x + y; };var sum = new Function("x", "y", "return x+y;");;var sum = function(x,y) { return x+y; };var total = sum(1,2);。

空值和未定义值:null表示空值;undefined表示未定义值;两者“==”结果为true,但“===”结果为false。

操作符:与java基本相同,.、[]、()、new、++、--、-、+、~、!、delete、typeof、void、*、/、%、<<、>>、>>>、<、<=、>、>=、instanceof、in、==、!=、===、!==、&、^、|、&&、||、?:、,、=、*=、+=、-=、等等。“==”表示松散相等,允许类型转换,比如3=="3"为真;“===”为严格相等,必须有相同类型且值相等。比较符作用在字符串上时基于字母序。“in”表示右边的对象是否继承或包含左边的对象。

语句:表达式;、{表达式1; 表达式2}、空语句;、label: statement;break [label]、case、continue [label]、default、do/while、for、for/in、function、if/else、return、switch、throw、try/catch/finally、var、while、with。

面向对象

function Point(x,y) { //constructor

  this.x = x;

  this.y = y;

  this.f = function() { return x + y; }

}

Point.static_member = 5; // 静态变量

Point.static_function = function { return static_member; } // 静态方法


正则表达式:支持的特殊字符有:[...]、[^...]、\w、\W、\s、\S、\d、\D、?、+、*、{n}、{n,}、{n,m}、a|b、(sub)、(?:sub)、\n、$n、^、$、\b、\B、(?=p)、(?!p)。其中(?:sub)表示不存储匹配的值到变量;\n表示匹配第n组的子表达式;$n表示替换第n组的子表达式;(?=p)前瞻匹配;(?!p)前瞻否定匹配。


客户端javascript

客户端javascript是嵌入到HTML里由浏览器执行的javascript代码。HTML里用<script>标签来定义脚本语言。HTML控件可以使用event handler来调用javascript的代码,比如<input type="button" onclick="alert ('OK')">。也可以在表单的提交动作里执行javascript,比如<form action="javascript:alert('OK')">。


Window对象表示一个浏览器窗口,它是全局对象,定义所有顶层属性和方法。通过window可以得到这个全局对象,从而可以访问它的属性和方法,比如window.document。通常这个window.前缀可以省略,比如我们可以直接使用document。


简单的对话框alertconfirm、和prompt。例如:

alert("Hello");

if (confirm("OK?")) {

    var name = prompt("input your name");

}


状态栏:浏览器下方会有状态栏,用window.status来访问,比如status="OK"。很多浏览器出于安全考虑,已经禁用了这个功能。


计时器:var timer = setTimeout("document.title=++count", 1000);设置一个1秒后执行的计时器;clearTimeout(timer)可以清除这个计时器。对应的,setIntervalclearInterval用来设置和清除循环的计时器。


系统信息:Window对象的navigator和screen属性分别对应于浏览器和屏幕对象,通过它们我们可以得到浏览器的名字和版本信息、操作系统、用户屏幕的分辨率等。


浏览器:Window对象的location属性指向浏览器的地址栏内容,我们可以读取它,甚至设置成一个新的网址,比如location="http://localhost"。虽然location表现得像一个字符串一样,但它其实是一个Location对象。Window对象的history属性表示浏览器的历史记录,可以用history.back()和history.forward()来后退和前进,history.go(-3)后退三次。


Window控制:Window对象提供了移动(moveTo、moveBy)、改变大小(resizeTo、resizeBy)、滚动窗口(scrollTo、ScrollBy)、得到焦点(focus)、放弃焦点(blur)的方法。更重要的一个方法是open,它可以打开一个新的窗口,例:var w = open("url.html", "window name", "resizable");,其中第二个参数是窗口名,如果已经存在则重用这个窗口;第三个参数是特性,可以设置新窗口的宽度、高度等。调用w.close()可以关闭这个窗口。


Document对象:每个Window对象都有一个document属性来表示当前文档,它比Window对象本身更有重要。文档内容被访问和修改的方式被称为DOM(Document Object Model)。DOM对应于文档元素的树形结构。


W3C DOM:包括三个部分:core DOM(适用于任何结构体文档)、XML DOM和HTML DOM。HTML DOM是增加、修改、删除和访问HTML元素的标准。document.getElementById和document.getElementsByTagName用来得到元素节点。注意,getElementsByTagName会返回一个数组,可以用[]下标符来得到其中的元素。有两个特殊的节点:document.documentElement和document.body,可以直接访问。得到的每个节点都为一个Node对象。


HTML DOM Node:三个重要的属性:nodeName(大写的元素标签名)、nodeValue(标签包含的文本)、nodeType(如下)。

Element type NodeType
Element 1
Attribute 2
Text 3
Comment 8
Document 9


改变HTML:例:<buttononclick="document.getElementsByTagName('title')[0].innerHTML='New Tile'">。


Cookie:通过document.cookie可以访问和设置与网页相关的cookie。比如document.cookie="key=value; expires=date; path=xxx";,多次调用可以加入多个cookie。expires指定过期时间,如果不设置那么cookie在网页关闭后失效;设置path属性可以使cookie在多个网页内共享。在读取cookie时,会返回以“, ”分隔的字符串,每个语素都是“key=value”的形式,注意expires和path不会显示在返回值里。


DHTML:这不是一门语言,而是一个术语。Dynamic HTML,表示通过HTML、 JavaScript、 HTML DOM、 和CSS达到动态生成HTML效果。

---Basic End---


OOP

http://www.w3school.com.cn/js/js_reference.asp 

JS object 

Array, Boolean, Date, Math, Number, String, RegExp, Global

Browser object

Window, Navigator, Screen, History, Location

Core Dom object

Node, NodeList, NameNodeMap, Document, Element, Attr

HTML DOM object

>Basic

Document, Mouse Events, Keyboard Events, Frame/Object Events, Frame/Oject Events, Form Events, Event Object, EventTarget Object, 

EventListener Object, DocumentEvent Object, MouseEvent/KeyboardEvent Object, HTMLElement

>other

Anchor, Area, Base, Body, Button, Form, Frame, IFrame, Frameset, Image, CheckBox, FileUpload, Hidden, Password, Radio, Text, Link, Meta, Object, 

Option, Select, Table, td, th, tr, Textarea

Style object

Background porperties, Border/Outline props, Generated Content props, List props, Margin/Padding props, Misc props, Positioning/Layout props, 

Printing props, Table props, Text props, 

---OOP End---


你可能感兴趣的:(JAVASCRIPT)