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() 字符串转换为intparseFloat() 字符串转换为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, appletsform包含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
- javascript cookie学习笔记javascript
- javascript学习笔记
- Javascript学习笔记
- JavaScript学习笔记1
- JavaScript学习笔记2
- JavaScript学习笔记3
- JavaScript学习笔记4
- JavaScript学习笔记5
- JavaScript学习笔记6
- JavaScript学习笔记7
- JavaScript 学习笔记 1
- JavaScript 学习笔记 2
- JavaScript 学习笔记 3
- JavaScript 学习笔记 4
- javascript学习笔记
- javascript学习笔记
- JavaScript学习笔记 一
- javascript学习笔记
- Android学习日记(yzy):集成布局和滑动效果的实现
- 图片格式转换
- android 相对布局属性
- IOS 嵌入 u3d 的步骤
- centos6.8安装PHP 7.0.10
- Javascript学习笔记
- Eclipse中最有用的快捷键组合
- Python的虚拟环境virtualenv
- 亿级规模的Elasticsearch优化实战
- 海量图片存储策略
- 工作指导
- 2016 ACM/ICPC Asia Regional Dalian Online分析
- 添加音乐
- Android : 隐藏软键盘