一. javascript 添加到 html 中的方式:
1. 外部方式:
将<script>内容代码</script>写在一个新建的javascript的文件中,然后在html文件中引入,引入方式是在head中添加:
<script type="text/javascript" src="javascript的文件路径"></script>
2. 内联方式:
将javascript脚本代码包含在html事件处理程序属性中
<body>
<input type="button" value="press me" οnclick="alert('你好');">
</body>
3. 内嵌方式:
将"<script>代码</script>"这部分内容添加在"head"\"body"\"html外部"的方式.
二. 原始数据类型
1. typeof 运算符: 返回数据的类型
typeof 1 ; 返回number;
typeof "abc"; 返回string
typeof true ; 返回boolean
typeof null ; 返回object
typeof (undefined); 返回undefined
2. Undefined 类型: 是未定义的类型,只有一个值,即undefined:
var a ;(声明了变量,但未被初始化)
type a; 返回的值为undefined
type b; 返回的值为undefined
上的情况是: 定义了变量a,但未被初始化,这时a 的默认值为 undefined;
上面没有声明 变量b 其类型为 Undefined ,故type也返回undefined;
3. Null 类型: 是空型,表示尚未存在的对象, 只有一个值,即null;
alert(null==undefined); 输出true
代表null与undefined相等;
如果函数或方法返回的是对象,当找不到该对象时,返回null;
4. Boolean 类型: 是布尔类型,有两个值true和false
var a = true; 声明的变量 a 为布尔型
5. Number 类型: 是数字类型,既可以表示32位的整数,也可以表示64位的浮点数
Number类型的几个特殊值:
Number.MAX_VALUE Number类型的最大值
Number.MIN_VALUE Number类型的最小值
(所有的javascript数都必须在上面这两个值之间,不过计算生成的数值可以不在这两个数之间)
Number.POSITIVE_INFINITY = infinity 正无穷大的数
Number.NAGETIVE_INFINITY = -infinity 负无穷大的数
isFinit(A) 函数: 判断参数A是否为有穷数,若是返回true;反之返回false
NaN 是表示非数字,一般用于类型转换:
NaN 与自身不相等
isNaN("abc") 函数: 判断字符串abc能否转换为数字,若不能,返回true;反之返回false
6. String 类型: 是字符串类型,它是唯一没有固定大小的原始类型
字符串用单引号'',或双引号""声明,不过尽量使用双引号
三. 字符串String的一些方法
字符串String的方法(大多数方法的原字符串不变):
1. charCodeAt(indext): var a = str.charCodeAt(2); 原字符串不变.
返回一个整数,即返回参数(索引值)对应字符的ASCII码值.
2. concat(): var ss = str1.concat(str2); 原字符串不变.
将字符串str2拼接在字符串str1的后面,返回拼接后的新的数组.
3. indexOf(str2,index): var a = str1.indexOf(str2,3); 原字符串不变.
查找子字符串,返回子字符串str2在str1中第一次出现的位置;
从str1的3个索引值开始从左至右来查找str2,若找到,返回str2第一次出现的索引值;
若没找到则返回-1;
若index 为负数,则被当为0处理;
若index 大于str1的最大索引值,则被当成str1的最大索引值;
若省略了index,则代表从0开始从左至右查找.
4. lastindexOf(str2,index): var a = str1.lastindexOf(str2,3); 原字符串不变.
查找子字符串,返回子字符串str2在str1中最后出现的位置;
从str1的3个索引值开始从右至左来查找str2,若找到,返回str2最后出现的索引值;
若没找到则返回-1;
若index 为负数,则被当为0处理;
若index 大于str1的最大索引值,则被当成str1的最大索引值;
若省略了index,则代表从最大索引值开始从右至左查找.
5. slice(start,[end]): var a = str1.slice(2,5); 原字符串不变;
返回字符串str1的部分子字符串,即start--至--[end] 索引值之间的字符串;
取start--至--end之间的字符串,但不包括end对应的字符;
若start>end,则无元素返回;
若start或end为负数,则使start或end与str1的长度值length相加,相加计算后,再来作为索引值(若运算后start>end,也无返回值);
若省略end,则取start后面所有的元素.
6. substring(start,end): var a = str1.substring(2,5); 原字符串不变;
返回字符串str1的部分子字符串,即start--至--[end] 索引值之间的字符串;
取start--至--end之间的字符串,但不包括end对应的字符;
若start或end为负数或者NaN,则将start或者end替换为0;
四. 数组的创建及应用
数组的创建方式有如下几种:
1. 最常用的方式: var array = [1,2,3,"a","b","c"];
2. var array = new Array(1,2,3,4,5);
3. var array = new Array();
array[0] = 1;
array[1] = 2;
array[2] = 3;
4. var array = new Array(3);
array[0] = 1;
array[1] = 2;
array[2] = 3;
数组的方法:
1. array.shift(): 删除数组的第一个元素,数组array发生改变
删除数组 array 的第一个数组元素;
返回被删除的元素;
2. array.pop(): 删除数组的最后一个元素,原数组发生改变
删除数组 array 的最后一个数组元素;
返回被删除的元素;
3. array.unshift(参数): 在数组的前面插入数据,原数组发生改变;
参数可以是一个数字,一个字符,或者另一个数组;
返回新数组的长度;
4. array.push(参数): 在数组的最后插入数据,原数组发生改变;
参数可以是一个数字,一个字符,或者一个数组
返回新数组的长度;
5. array.splice(index,count,"a","b","c"): 删除数组中的元素,原数组发生改变;
返回被删除的元素
index: 表示开始删除元素的索引
count: 表示删除元素的个数
a,b,c: 可有可无,若有a,b,c,则表示在删除元素的位置插入新的数据a,b,c;
若没有,则不再删除元素的位置插入新的数据;
6. array.reverse(): 将数组逆序,返回新的数组,原数组发生改变;
7. array.slice(start,[end]): 返回部分元素,原数组不发生改变
返回start下标--至--end下标之间的元素(不包括end对应的元素);
若start>end, 则无返回元素;
若start或者end,为负数,则系统将值转为0;
若start或者end,超过数组的最大索引值,则系统将值转为数组的最大索引值;
五. 数据类型转换:
I. (字符串转换为数字)只转换第一个无效字符之前的字符串):
1. 转换为整数: parseInt()
parseInt("123abc"); 返回123
parseInt("22.5"); 返回22
parseInt("abc"); 返回NaN (表示非数字)
2. 转换为浮点数: parseFloat()
parseFloat("123abc"); 返回123
parseFloat("22.5"); 返回22.5
parseFloat("abc"); 返回NaN (表示非数字)
parseFloat("0908"); 返回908
II. 数字转换为字符串:
1. 直接声明字符串变量: var a = "123"; 字符串"123"
2. 最直接的方法: var str = 123 + ""; 将数字123转换为字符
3. 用toString 函数:
var a = 10;
var b = a.toString(); 返回字符串"10"
六. 强制类型转换:
1. Number(value)-----把给定的值转换为数字(整数或浮点数)
当整个字符串不能完全转换为数字时,返回的是 NaN,这一点与部分转换函数parseInt()和parseFloat()不一样:
var a = Number("123"); a被赋予的值为 123
Number("123abc"); 返回 NaN (abc没有数字与其对应,故返回NaN,表示非数字)
Number("2.2.7"); 返回 NaN (2.2.7没有这种数字,故返回NaN,表示非数字)
Number(false); 返回0
Number(true); 返回1
Number(null); 返回0
Number(undefined); 返回NaN
Number(new Object()); 返回NaN
2. Booleab(value)-----把给定的值转换为布尔型
若转换的值为: 空串"" 或者 数字0 或者 undefined|null ---- 布尔函数将返回false;
var a = Boolean(""); b被赋予的值为false
Boolean(0); 返回false
Boolean(null); 返回false
Boolean(undefined); 返回false
Boolean("hi"); 返回true
Boolean(123); 返回true
Boolean(new Object()); 返回true
3. String(value)-----把给定的值转换为字符串(这个函数可以把任何值转换为字符串)
var s1 = String(null); 返回字符串"null"
var s1 = String(undefined); 返回字符串"undefined"
String(value)与toString()函数的区别在于:
若toString()函数转换的值为null或者undefined,则会发生错误,而String()却不会
七. 日期对象:
创建日期对象: var now = new Date();
此时的变量 now 为日期对象,值为当时的时间
日期的方法:
1. now.getFullYear(); 获取当前年份
2. now.getMonth()+1; 获取当前月份
3. now.getDate(); 获取当前的日
4. now.getHours(); 获取当前的小时
5. now.getMinutes(); 获取当前的分钟
6. now.getSeconds(); 获取当前的秒