1、javascript是什么?
是由网景公司开发的一种用来操作浏览器,操作
网页(对网页进行动态的交互,实现动态的效果)的
一种脚本语言。由浏览器来解释执行。
2、javascript的组成部分
1)ECMAScript
由ECMA组织制订的一个脚本语言的规范,该规范
定义了脚本语言的语言基础部分(包括数据类型、
关键字、标识符、对象、语句、运算符)。
ie,firefox,safari,chrome,opera都支持该规范。
2)DOM
Document Object Model:文档对象模型。
早期,没能DOM规范,各个浏览器为了解析html,
开发了属于各自的dom模型(称为dhtml,因为可以
通过修改dom节点,来实现一些动态效果)。使用
dhtml开发的页面浏览器兼容性不好,所以,w3c
才开发了一套dom模型(也就是说,这是一个标准化
的dom模型)。
w3c dom各个浏览器支持的情况不一,主要是
ie支持不够好。
通过使用dom模型,可以实现对网页的交互操作。
3)BOM
Brower Objct Model:浏览器对象模型。
对浏览器本身进行操作:
获取浏览器的信息(包括类型、版本、语言支持)
对窗口进行操作(打开窗口、关闭窗口...)
显示器分辨率
浏览器的地址信息
此外,还包括获取XmlHttpRequest对象。
BOM并没有规范,但是各个浏览器基本上都支持。
3、ECMAScript(语言基础)
1)标识符
以字母、$、_ 开头,后面可以是字母、$、_和
数字。
2)语句
以";"结尾。
3) 大小写敏感。
4) 弱类型语言
变量在使用时,不能直接声明其类型。
变量的实际类型在运行时才确定,并且,可以
发生改变。
比如:
var i = 100;
i="abc";
5)注释
a,单行注释:
//
b,多行注释:
/*
*/
6)数据类型
(1)基本类型
a,number
数字类型
b,string
string类型的值必须用'',或者""括起来。没有
字符类型(char)。
string是一种基本类型。
c,boolean
值可以是true/false;
boolean类型
以下几种情况,结果为true:
非空的字符串
非零的数字
对象
如果是null或者undefined,结果为false。
d,null
null类型只有一个值,"null"。
如果一个变量的作用是保存一个对象的地址,
在没有给变量赋值前,可以预先赋值为null。
var obj = null;
if(obj!=null){
obj = ...
}
e,undefined
undefined类型也只有一个值,"undefined"。
一个变量申明过,但没有赋值,其类型是undefined。
(2)数据类型的转换
a, string转换成number
parseInt(str):
转换成整数,在转换时,如果字符串末尾包括
字符,会自动将该字符除掉。比如
可以
parseInt("123a"); ok!
parseInt("a123"); error!
isNaN(data):
如果data是非数字,结果为true。
parseFloat(str):
转换成小数,结果有误差。
b,number转换成string
toString()方法即可。
比如:
var n1 = 100;
n1.toString(); //内部,js会先将number转换成
//Number包装类,然后调用toString()方法。
(3)字符串的常用属性和方法
length属性: 返回字符串的长度
charAt(index):返回指定位置的字符
substring(from, to): 返回子字符串,从from开始,但不包括to。
indexOf(str) :指定字符串在原字符串中第一次
出现的位置。
lastIndexOf(str): 指定字符串在原字符串中
最后一次出现的的位置。
match(regexp) :
返回匹配指定正则表达式的字符串,返回的
结果是一个数组。
var str2 = 'asd212abc345';
var reg2 = /[0-9]+/g;
var arr = str2.match(reg2);
search(regexp) :
返回按照正则表达式检索到的字符串位置
str2.search(reg2)
toLowerCase()
/toUpperCase() 返回小写/大写形式
replace(regexp,'abc'):
替换符合regexp正则表达式规定的字符串
str2 = str2.replace(reg2,'888');
split():将一个字符串分解。
(4)引用类型(后面讲)
7) 数组
数组的长度是可变的,数组中,可以混合存放
不同类型的数据。
a,创建数组
方式一:
var arr = new Array();
arr[0] = 1;
arr[3] = 4;
方式二(使用字面量的方式):
var arr = [];
arr[0] = 1;
arr[3] = 4;
或者
var arr = [1,3,4];
b,创建多维数组
var arr = new Array();
arr[0] = [1,2,3];
arr[1] = [11,22];
arr[2] = [8];
c,数组的排序
可以使用sort()方法来排序,默认情况下,采用
字典顺序。
可以为sort()方法提供一个函数,来指定排序的规则。
sort(function(a,b){
return a - b;
});
d,数组的常用属性和方法
length属性:返回数组的长度
toString()方法: 返回数组的字符串表示
concat()方法: 用于连接两个数组,会生成
一个新的数组。
join()方法,用于将数组中的各个元素
连接成字符串。
reverse()方法,将数组反转,不会生成新的数组。
slice()用于截取数组的一部分并以
数组的形式返回。
javascript
最新推荐文章于 2024-07-14 15:54:59 发布