1、什么是javascript
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 [1]
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
2、JavaScript的组成:
1、ECMAScript:基本的语法和对象
2、BOM:浏览器模型,与浏览器进行交互
3、DOM:文档模型,与网页内容进行交互
3、html整合js
1、内部js:
定义<script></script> 任意位置
2、外部js:
定义<script></script> 通过src属性引入外部的js
注意:
1、可以定义在html的任意地方,但是定义的位置会影响执行的顺序
2、script可以定义多个
ECMAScript:
基本语法:
注释:
单行://
多行:/**/
2、数据类型:
1、原始数据类型
1、number:数字,NaN(不是数字的一个数字类型)
2、string:字符串
3、boolean:true&false
4、null:一个对象为空的占位符
5、undefined:未定义。如果一个变量没有给初始值,就会默认赋值undefined
2、引用数据类型:对象
3、变量:
java是强类型语言;JavaScript是弱类型语言
强类型:在开辟空间的时候确定类型,以后只能存储该类型
弱类型:在开辟空间的时候不确定类型,以后能存储各种类型
语法:
var 变量名 = 赋值号
typeof:获取变量的类型
注意:null运算后结果是object
4、运算符:(基本和java一摸一样)
1、++,--
string 到 number 会发生自加
注意:如果string 不是数字: 结果是NaN
2、boolean 转 number
true:1 false:0
3、== :只判断值
===:判断值的同时判断类型
4、逻辑运算符:&& ||
1、number:0或者NaN为假,其他都是真
2、string:除开("")是假的,其他都是真的
3、null&undefined,假
4、对象,所有对象都是真的
5、流程控制语句
if,switch:可以接收任意类型
do……while,while,for
for-in(foreach):
var arr2 = ["a","b","c"];
for(index in arr2){
alert(arr2[index]);
}
总结:
1、可以以;结尾,你也可以不写
2、定义变量var ,你也可以不用
用:局部变量(使用)
不用:全局变量
基本对象
1、Function(函数/方法)对象
创建方法:
1)function 方法名(参数){}
function aaa( a, b) {
return a+b;
}
2)var 方法名 = function(){}
var b = function (a, b) { }
注意:1、function的参数列表,底层实际上是一个数组(arguments)
2、定义参数不用写类型,返回值也不写类型
3、方法的调用之和方法名相关,和参数无关
2、Array数组对象
创建:
var arr = new Array(元素列表);、
var arr = new Array(长度)
var arr = [元素列表];
方法;
join();将数组中的元素,按照一定的分隔符拼接为字符串
push():向数组的末尾添加一个元素或者多个,并返回新的长度
属性:
length:长度
注意:js中的数组长度是可变的,元素类型也是可以改变的
3、Date对象
创建:
var date = new Date();
方法:
toLocaleString:本地时间格式
getTime:毫秒值
4、Math对象
abs(x) | 返回数的绝对值。 |
acos(x) | 返回数的反余弦值。 |
asin(x) | 返回数的反正弦值。 |
atan(x) | 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) | 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 e 的指数。 |
floor(x) | 对数进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 把数四舍五入为最接近的整数。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回该对象的源代码。 |
valueOf() | 返回 Math 对象的原始值。 |
5、RegExp对象
var reg = new Reg("正则表达式")
reg.test(“测试的字符串”);
正则表达式在线测试工具:http://tool.oschina.net/regex/