本文主要记录了一些js的基础知识,其主要有:类型转换、函数的注意事项(格式、参数、覆盖)、String对象、Math对象、Date对象、数组对象常用方法和说明、自定义对象、原型。
类型转换:
string->整数: parseInt(变量),使用parseInt函数转换时,转换的内容中的第一个是数值类型,就可以继续转换,直到遇到非数组类型为止。
string->小数: parseFloat(变量)
JS函数的注意事项:
1)js的函数使用function定义,但是形式参数列表不能使用var关键词
2)js的函数可以有返回值,直接使用return关键词返回即可,不需要声明返回值类型
3)js没有方法重载的概念,后面定义的函数会覆盖前面的函数。
4)js中的形式参数和实际参数的数量可以不一致,依然可以调用。
5)js的每个函数中都隐藏了一个叫arguments的数组,这个数组用于接收函数调用时传递过来的实际参数值。
6)arguments数组接收完实际参数后,会逐一的依次从左到右赋值给形式参数,如果实际参数数量大于形式参数,则丢失剩下的实际参数
String对象的常用方法:
charAt(): 返回指定索引的内容
indexOf(): 返回首次出现指定字符的索引位置
lastIndexOf(): 返回最后出现指定字符的索引位置
fontcolor(): 直接给字符串添加颜色
replace(): 替换指定的字符串
split(): 使用指定字符串切割字符串,返回字符串数组
substring(start,end); 截取字符串,start:开始索引,end:结束索引
substr(strat,[length]) 截取字符串, start:开始索引length:截取的字符串长度
Math对象常用方法:
1)ceil(): 向上取整。 如果有小数部分的话,直接+1
2)floor():向下取整。如果有小数部分的话,直接丢失小数部分,保利整数位
3)round():四舍五入取整。满5进一
4)random():生成一个随机的0-1的小数.包含0,不包含1
5)max():返回最大值
6)min():返回最小值
Date对象常用方法:
1)Date():使用Date对象前先new一个Date对象,如var time=Date()
2)getTime():返回1970年1月1日至今的毫秒数
3)getFullYear():得到当前年份
4)getMonth():得到月份,从0开始,需要+1才是当前月份。
5)getDate():得到日期,即月份的几号。
6)getDay():得到星期数。
7)getHours():得到多少小时
8)getMinutes():得到多少分钟
9)getSeconds():得到多少秒钟
数组对象:
注意:
1)数组的长度会随着元素的添加而变化,不用担心出现索引位置越界的异常。
2)js的数组可以存放任意类型的元素。
常用的方法:
1)join(字符串):使用指定的字符串,把数组的所有元素连接在一起,最终组成一个新的字符串
2)reverse():反转数组中的元素
自定义对象:
定义对象方式一:有参数的构造函数(推荐)
function 对象名称(形式参数){
定义属性
定义方法
}
//定义人对象
function Person(name,age){ //this: 表示当前调用的对象
//定义属性 赋值,在前面加了this
this.name = name;
this.age = age;
//定义方法
this.say = function(){
alert("创建了个人对象");
}
}
创建对象:
var 变量 = new对象名称(实际参数);
定义对象方式二:无参数的构造函数
//定义对象
function Person(){
}
//创建对象
var p = new Person();
//追加属性
p.name = "剑圣";
p.age = 24;
//追加方法
p.say = function(){
alert("一秒6刀");
}
定义对象的方式三:使用Object对象。Object对象可以作为任意对象的模板
//创建对象
var p = new Object();
//追加属性
p.name = "狗蛋";
p.age = 16;
//追加方法
p.say = function(){
alert("狗蛋的函数");
}
定义对象方式四:使用字面量的形式创建对象。
//创建人对象
var p = {
//定义属性(属性名:属性值)
"name":"光辉", //注意这里的属性值可以不用写引号(例如:name:"光辉"),属性与属性以及方法之间用逗号分隔!key和value之间用冒号分离
"age": 20,
//定义方法
"say":function(){
alert("天外飞仙");
}
};
//查看属性值
document.write(p.name);
document.write(p.age);
//调用对象方法
p.say();
//使用for-in遍历对象
for(var i in p){
document.write(p[i]+"<br/>");
}
原型:
可以给js对象添加方法
例如:把search方法设计到Array内置对象中
Array.prototype.search = function(target){
//遍历
for(var i=0;i<this.length;i++){
if(this[i]==target){
return i;
}
}
return -1; //找不到就是-1
}
//调用search()方法
var arr = [10,43,21,65,3,87];
var index = arr.search(87);