JavaScript常用函数和对象学习笔记
常用函数
函数名 | 描述 |
---|---|
parseInt() | 解析为数值类型 |
parseFloat() | 解析为浮点型 |
isNaN() | 是否为非数字 |
<script type="text/javascript">
parseInt()用于解析字符串为数值类型
var num="123.45";
将字符串或带小数的number转为整数
var result = parseInt(num);
console.log(result,typeof result,typeof num);
parseFloat()用于解析带小数的字符串数字,保留了小数部分
var num2="123.456";
var rs = parseFloat(num2);
console.log(rs,typeof rs,typeof num2);
isNaN() 判断是否是非数字
console.log(isNaN(newResult));
</script>
弹窗:
<script type="text/javascript">
/*prompt()跳出一个可输入的弹框,参数是弹窗提示信息,
返回值是字符串类型,无输入则是空字符串,点击弹窗的取消返回null*/
var result = prompt("请输入");
console.log(result,typeof result);
//confirm(),弹出提示信息,返回值是boolean类型,点击确定返回true,取消返回false
var result = confirm("确定吗?");
console.log(result,typeof result);
</script>
Array数组对象
<script type="text/javascript">
//创建一个Array数组对象
let array = new Array();
//添加元素,可以是任意类型
array[0] = 1;
array[1] = "abc";
array[2] = null;
console.log(array);
//定义长度为3的数组对象 Array
let array = new Array(3);
console.log("数组长度:"+array.length);
array[0] = 1;
array[1] = "abc";
array[2] = null;
//可以添加第四个,再添加时,长度自动扩展
array[3] = "haha";
console.log(array[3],"数组长度:"+array.length);
//定义指定值的数组对象
let array2 = new Array(1,"呵呵",null);
console.log(array2);
//简写形式,[]代表数组 {}代表json对象
let array3 = [123,true,"abc"];
console.log(array3[1]);
</script>
String对象
<script type="text/javascript">
//String对象,该语句的str等于是一个字符数组的变量
let str = new String("haha");
//以字符数组的形式输出
console.log(str);
//以字符串的形式输出
console.log(str.toString());
//String对象里的方法
//split(),根据参数分割字符串,返回一个数组
let url = "http://www.baidu.com";
let urlArr = url.split(".");
//原字符串被分割成三部分,输出urlArr数组
console.log(urlArr);
//获取上传的文件的后缀
let fileName = "sadij45sa6d4a56sd45.as6d.webp";
//lastIndexOf()查询字符串中该字符最后出现的位置,返回该下标
let index = fileName.lastIndexOf(".");
//substring()从下标开始截取后面的部分
let suffix = fileName.substring(index);
//输出".webp"
console.log(suffix);
</script>
Date日期对象
<script>
setInterval(showTime,1000);
function showTime(){
//Date对象
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth()+1;
let day = date.getDate();
let hour = date.getHours();
let minute = date.getMinutes();
let seconds = date.getSeconds();
let millSeconds = date.getMilliseconds();
hour = check(hour);
minute = check(minute);
seconds = check(seconds);
let dateTime = year+"年"+month+"月"+day+"号 "+hour+":"+minute+":"+seconds;
document.write(dateTime)
}
//不足10的时候前面拼接个0
function check(time){
if(time>9){
return time;
}
return "0"+time;
}
</script>
location对象
location控制地址栏中的地址
<script type="text/javascript">
//location.href当前网页的地址
let url = location.href;
console.log("当前网页中的地址:"+url);
// //改变地址栏中的地址
location.href = "http://www.baidu.com";
</script>
定时器
1.setInterval()开启定时器 clearInterval()关闭定时器
<script type="text/javascript">
//setInterval()开启定时器,用一个变量指定该定时器,该变量可用于关闭定时器时使用
//参数一定时器要执行的任务,参数二指定周期时间(毫秒)
let timer = setInterval(print,500);
let i = 1;
//创建定时器要执行的任务
function print(){
if(i==5){
//clearInterval()关闭定时器,参数是指定要关闭的定时器,这里是timer
clearInterval(timer);
}
console.log(i++);
}
</script>
2.setTimeout()开启定时器 clearTimeout()关闭定时器
<script type="text/javascript">
/*setTimeout()只会执行一次指定任务,重复执行可以写在函数里使用递归*/
//考虑到变量作用域,因此写在函数外边
let timer = null;
let i = 1;
function print(){
if(i==5){
//i等于5时取消定时器
clearTimeout(timer);
//结束函数
return;
}
console.log(i++);
/*
开启定时器执行任务,第二个参数是延迟时间
该语句是2秒后执行print
*/
timer = setTimeout(print,2000);
}
//执行函数
print();
</script>
如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。