Javascript学习笔记

来源:互联网 发布:易语言盗号源码2016 编辑:程序博客网 时间:2024/06/07 14:03

数据类型和运算符

变量命名规则

javascript变量名区分大小写,computer和Computer是两个不同的变量

代码注释

// 单行注释
/**/ 多行注释,和C语言相同

代码格式

语句以;结束,单行多条语句,以;分隔,单行一条语句可以省略; 一条语句不能以换行符分隔,语句作为标签属性可以省略;

常量

整型常量,0x开头16进制,0开头8进制,默认10进制
实型常量,11.1或科学表示法7e2
布尔型,true或false
字符串常量,'abc'或"abc"
null常量,表示空对象
undefined常量,没有赋值对象或属性不存在

变量名

可是使用字母、数字、下划线、$,但是不能以数字和下划线开头

基本数据类型

基本数据类型有数据值型(浮点型,整型),布尔型,字符串型,对象,空值型,未定义型
Infinity 表示正无穷大
NaN 表示非数据类型,比如除0结果
Number.MAX_VALUE 可以表示的最大值
Number.MIN_VALUE 可以表示的最小值
Number.NaN 同NaN
Number.POSITIVE_INFINITY 正无穷大
Number.NEGATIVE_INFINITY 负无穷大

字符串可以使用单引号或双引号,单引号字符串内可以包含双引号,双引号字符串内可以使用单引号,特殊符号使用\x表示

类型转换

parseInt() 字符串转换为int
parseFloat() 字符串转换为float
eval('2+3') 计算表达式的值

运算符

算术运算符+, - * /,%
赋值运算符=, +=, -=, *=, /=, %=
关系运算符<, <=, >, >=,  ==, !=, ===(严格等于就是类型和值都相等), !===
逻辑运算符&&, ||, !
字符串运算符+
位运算符&, |, <<, >>, >>>,~, ^, 
其他运算符?:(三目运算符), 逗号运算符返回第二个表达式值,delete删除对象,typeof返回数据类型,instanceof判断数据是否为指定类型,new创建对象,in对象是否有某个属性 
运算符优先级参见转换表

正则表达式

正则表达式变量/hello/igm  i不区分大小写,g全局匹配,m多行匹配
var pattern =  new RegExp('hello', 'ig')
var pattern = /hello/ig
表达式静态属性:
index 第一次匹配的开始位置
input 正在执行匹配的字符串
lastIndex 第一次匹配的下一个位置
lastmatch 最后一次匹配的字符串
lastParent 最后一个子匹配的内容
leftContext 最近一次匹配的左边内容
rightContext 最近一次匹配右边内容
$1 ... $9 最后9个子匹配的内容
对象属性:
global 全局搜索标志
ignoreCase 忽略大小写标志
multiline 多行标志
source 正在表达式字符串
myArray = myString.match(regex)  返回匹配结果数组
afterString = beforeString.replace(regex, replacement_value) 替换字符串
mystring.search(regex) 搜索到匹配字符串返回字符串开始位置,否则返回-1
mystring.split(regex) 以正在表达式分隔字符串

高级正则表达式

\f 换页 \n 换行 \r 回车 \t 制表 \V 垂直制表
[...]  括号之内的任意字符
[^...] 不在括号之内的字符
. 除换行符之外的所有字符
\w 匹配字母、数字、下滑线
\W 与\w相反
\s 匹配空白字符包括空格、Tab、回车、换页
\S 与\s相反
\d 匹配数字
\D 与\d相反
{n}匹配前一项n次
{n,}匹配前一项n次货更多
{n,m} 匹配前一项n到m次
? 匹配前一项0或1次
*  匹配前一项0或多次
+ 匹配前一项1或多次
\ 转意符
| 逻辑或
() 子表达式
$ 结束符
^ 开始符
\b 词语边界
\B 非词语边界

流程控制

基本流程

语法与C语法基本相同
选择支持if, switch
循环支付while, do while, for并且有for in语法可以遍历 数组和字典

其他

with(object) {
} 在代码块中直接使用属性,不用加对象.
throw用来抛异常
try catch finally处理异常

函数

函数定义

function func_name(param1, param2, ...) {
    return result;
}
基本类型参数采用值传递,数组和字典采用地址传递
全局变量和局部变量、递归和C语言基本相同
return不写返回undefined

常用库函数

encodeURI url编码
decodeURI url解码
isNaN 判断是否为NaN
eval 字符串表达式计算

面向对象编程

定义创建删除对象

使用字典定义对象
function(a,b){
this.a =a;
this.b = b;
this.func = function(a,b) {return a+b;};
}
class TV {
var Make:String;
var Model:String;
var Price :Interger;
function TV(make, model, price){
    this.Make = make;
    this.Model = mode;
    this.price = price;
}
}
obj = null 删除对象
delete obj.val 删除对象属性或方法

常用对象

String, Boolean, Date, Number, math, Array内置对象

事件与事件处理

指定事件处理程序

<body onload="alert('page loaded')">
<script language='javascript' for="windows" event="onload">

常用事件

keyDown, keyUp, keyPress, Click, MouseDown, MouseUp, MouseOver, MouseOut, Resize, MouseMove
onLoad, onUnload, focus, blur, submit, reset, change, select

窗口和框架

浏览器对象模型

window包含locations, history, document, screen, navigator, frame
document包含form, links, archors, images, applets
form包含text, textarea, password, button, submit, reset, radio, checkbox, select
select包含options

对象属性

window.open
window.close
window.setTimeout
window.setInterval
window.alert
window.confirm
window.prompt
window.defaultstatus 设置默认状态栏
window.status 设置状态栏
window.moveBy
window.moveTo
window.resize

网页核心Document对象

设置document属性

document.title = "文档标题"  
document.bgcolor = 123  设置背景颜色
document.fgcolor = 456 设置文本颜色

访问document属性

document.all 包含所有document元素
document.all.item(name) 使用name访问元素
document.all.tags(tagname) 使用tagname访问元素
document.all['divid'] <==> document.all.item('divid')
document.all['divname']  <==> document.all.item('divname')
document.write("<h1>title</h1>") 直接写入文档内容

document下层对象

doucument.links 包含所有link元素 target = _blank打开新窗口,_self在现有窗口打开
document.archors 包含所有锚点
document.images 包含所有图像

表单对象

0 0
原创粉丝点击