JS基础--定义 数据类型 数学时间函数 数组
Posted 元气满满01
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS基础--定义 数据类型 数学时间函数 数组相关的知识,希望对你有一定的参考价值。
- 定义
基于事件和对象驱动,并具有安全性能的脚本语言,在客户端运行。
- 引用
内嵌:在html任何一个位置<script type=”text/javascript”>具体js代码</script>
外部:<script type=”text/javascript” src=”js文件”></script>
- 代码大小写敏感:“a”与“A”不是一个类型;单行注释用//;多行注释用/* */。
- 输出语法
弹窗形式 alert();
alert("11111");
console.log();控制台输出,一般作为调试输出语句
console.log("123")
prompt() 方法用于显示可提示用户进行输入的对话框
prompt("请输入");
document.write() 在html文档中打印出来
document.write("你好");
- 变量
定义: 其值可以发生改变的量就是变量。
命名:var 变量名 =
命名规范 :字母、数字、下划线、$符号 等4个组成部分,数字不能作为名字的开始内容。 驼峰法命名:第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。
- 数据类型
有6种:数字 number(int/float)字符 string 布尔 boolean 未定义 undefined 面向对象 object(数组是对象的一部分)null类型:空对象类型。
typeOf():输出变量的类型
var a = 10; var b = "asd"; alert(typeof(a)); alert(typeof(b));
数据类型的相互转换
1)Number转换:
注意:
a) 如果转换的内容本身就是一个数值类型的字符串,那么将来在转换的时候会返回自己。
b) 如果转换的内容本身不是一个数值类型的字符串,那么在转换的时候结果是NaN.
c) 如果要转换的内容是空的字符串,那以转换的结果是0.
d) 如果是其它的字符,那么将来在转换的时候结果是NaN.
2)parseInt():
a) 忽略字符串前面的空格,直至找到第一个非空字符,还会将数字后面的非数字的字符串去掉。
b) 如果第一个字符不是数字符号或者负号,返回NaN
c) 会将小数取整。(向下取整)
3)parseFloat();//浮点数(小数)
与parseInt一样,唯一区别是parseFloat可以保留小数。
b.转字符串
可以将其它的数据类型转成字符串。
1)String():
2)toString()的方法来进行转换(包装类)。注意:undefined,null不能用toString。
- 数学函数
定义执行普通的算数任务。
随机数Math.random() 可返回介于 0 ~ 1 之间的一个随机数。
最大数Math.max返回指定的数中带有较大的值的那个数
最小数Math.min返回指定的数中带有较大的值的那个数
圆周率Math.PI
- 日期时间函数
获取当前时间:var myDate = new Date();//获取系统当前时间
var myDate = new Date(); alert(myDate);
获取年月日
1 myDate.getYear(); //获取当前年份-1900的值(3位)
2 myDate.getFullYear(); //获取完整的年份(4位,1970-????)
3 myDate.getMonth(); //获取当前月份(0-11,0代表1月)
4 myDate.getDate(); //获取当前日(1-31)
5 myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
6 myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
7 myDate.getHours(); //获取当前小时数(0-23)
8 myDate.getMinutes(); //获取当前分钟数(0-59)
9 myDate.getSeconds(); //获取当前秒数(0-59)
10 myDate.getMilliseconds(); //获取当前毫秒数(0-999)
11 myDate.toLocaleDateString(); //获取当前日期
12 var mytime=myDate.toLocaleTimeString(); //获取当前时间
13 myDate.toLocaleString( ); //获取日期与时间
var myDate = new Date(); var y=myDate.getFullYear(); //获取完整的年份(4位,1970-????) var m= myDate.getMonth(); //获取当前月份(0-11,0代表1月) var d= myDate.getDate(); //获取当前日(1-31) var w= myDate.getDay(); //获取当前星期X(0-6,0代表星期天) var h= myDate.getHours(); //获取当前小时数(0-23) var f= myDate.getMinutes(); //获取当前分钟数(0-59) var s= myDate.getSeconds(); //获取当前秒数(0-59) var i= myDate.toLocaleDateString(); //获取当前日期 var j= mytime=myDate.toLocaleTimeString(); //获取当前时间 var k= myDate.toLocaleString( ); //获取日期与时间 alert(y+"-"+m+"-"+d+"-"+w+"-"+h+"-"+f+"-"+s); alert(i); alert(j); alert(k);
- 运算符
算数运算符:+;-;*;/
+:1数字求和2字符串的拼接
var i = 10; var j = 10; alert(i+j);
var i = "你好"; var j = "hello world"; alert(i+j);
-:1数字减法2对数字取相反数3将字符串转换成数值 数字型字符串-数值
*:乘;/:除;%:取余
复合赋值运算符+=; -=; *=; /=; %=
(sum+=a)== sum=sum+a
自增与自减
++对运算数进行递增操作;--对运算数进行递减操作
在运算数之前,先递增或递减,再赋值;在运算数之后,先赋值,再递增或递减
关系运算符
大小关系检测:大于>;大于等于 >=;小于 <;小于等于 <=
等值关系检测:等于==;不等于 !=
逻辑运算符:逻辑非 ! 逻辑与 && 逻辑 或 ||
三元运算符
var a =10; var b =10; var c =a>b?"a比b大":a==b?"a与b相等":"a比b小" alert(c);
- 流程语句
选择语句
if语句 特性:可处理复杂的逻辑关系
if(条件1){ 代码1 }else if(条件2){ 代码2 }else{ 代码3 }
switch语句 流程:1判断条件表达式中的值2与标签做比对;特性:处理简单的逻辑
switch(1==1){ case true: alert(111) break; case false: alert(222) break; default break; }
循环语句
while语句 流程:判断条件表达式的值,当值为true时 循环执行代码;当值为false时 退出循环 。特性:先检查条件,再执行循环;条件不满足则循环一次也不执行
while(条件表达式){ 循环执行的代码 }
do-while语句 流程:先执行循环体内代码,再进行判断如果表达式。为true则重复执行代码如果表达式为false 退出循环。 特性:先执行循环体,再进行条件判断;循环体内代码至少执行一次
do{ 循环执行的代码 }while(条件表达式);
for语句 流程:循环变量初始值与循环条件做比较,确定返回值返回true时,执行循环体执行完一次,循环体后进行递增或递减运算,将运算结果与循环条件做比较
for(定义循环变量的初始值;循环条件;递增递减计数器){ 循环的代码 }
跳转语句
break:终止整个循环,不再进行判断
continue:终止本次循环,接着去判断是否执行下次循环
- 数组
定义:数组是使用单独的变量名来存储一系列的值。
定义空数组
var 变量名 = new Array(); var 变量名 = []; var 变量名 = new Array(数组的长度);
往数组中添加元素
1 通过下标逐个添加或者通过循环添加 2 push方法
var a=[1,2,0,5,6,0,4,8,2]; var attr2 = []; //定义一个空数组 //遍历数组,将a数组中相同元素去掉,填入attr2数组中 for (var i= 0;i<a.length;i++) { if(a[i]== 0)continue; attr2.push(a[i]); }alert(attr2);
遍历数组 通过for循环或者for in
var x var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW" for (x in mycars) { document.write(mycars[x] + "<br />") }
对数组的内置操作函数
在数组末尾添加值
var arr=new Array(1,2,3,4,5); var len=arr.push(7,9); console.log(len,arr);
在数组开头添加值
var arr=new Array(1,2,3,4,5); var len=arr.unshift(7,9); console.log(len,arr);
删除数组的值 pop删除最后一位
<script type="text/javascript"> var arr = new Array(1,2,3,4,5); var val = arr.pop(); console.log(arr); console.log(val); </script>
shift 与pop相反 删除下标为0的值
<script type="text/javascript"> var arr = new Array(1,2,3,4,5); var val = arr.shift(); console.log(arr); console.log(val); </script>
数组转化为字符串 join
<script type="text/javascript"> var arr = new Array(1,2,3,4,5); var str = arr.join("."); console.log(str); </script>
数组的排序 reverse反转排序
<script type="text/javascript"> var arr = new Array(1,2,3,45,5); arr.reverse() console.log(arr); </script>
var arr=new Array(1,2,3,4,5,59,6);
arr.sort();
console.log(arr);
注意:sort()默认是转换字符串再排序 所以不能按照数字大小排序
按数字大小排序
<script type="text/javascript"> var arr=new Array(1,2,3,4,5,59,6); arr.sort(function(a,b){return a-b}); //升序 console.log(arr); arr.sort(function(a,b){return b-a});//降序 console.log(arr); </script>
连接数组
var arr1=[1,2,3]; var arr2=[4,5,6]; var arr3=[7,8,9]; var arr=arr1.concat(arr2,arr3,[10,11]); console.log(arr);
对于数组的截取 slice
var arr=new Array(1,2,3,4,5); var arr2=arr.slice(2); //第一个参数 start 开始选取的index 下标值 2为第三个值(0,1,2) 数字3开始 end 为可选 默认为到数组的末尾 console.log(arr2);//输出 [3, 4, 5] //注意 end 参数为 该参数是数组片断结束处的数组下标 4 为 数字5的下标 截取5之前,也可以理成截取到end-1 var arr2=arr.slice(2,4); console.log(arr2);//输出 [3, 4] 不是[3,4,5] //截取开始为负数 var arr2=arr.slice(-2,4); //如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 // 也可以转换成 数组长度(5)加 负数的值 (-2) 相当于arr.slice(3,4); console.log(arr2);//输出 [4]
数组的删除与插入 splice
//删除 var arr=new Array(1,2,3,4,5); var arr2=arr.splice(1,2);//删除开始下标为1的值(2)开始的2个值 (2和3) 返回删除的值 console.log(arr,arr2); //插入 var arr=new Array(1,2,3,4,5); var arr2=arr.splice(1,0,11,111);//在下标为1的值(2)之前插入值 ,参数第二个为0不删除,插入11,111 console.log(arr); var arr=new Array(1,2,3,4,5); var arr2=arr.splice(1,1,11,111);//在下标为1的值(2)之前插入值 ,删除下标为1的值并插入11,111 console.log(arr); var arr=new Array(1,2,3,4,5); var arr2=arr.splice(1,2,11,111);//在下标为1的值(2)之前插入值 ,删除下标1和2的值并插入11,111 console.log(arr);
查找 index of
//查找值所在的下标 var arr=new Array(1,2,3,4,5,6,7,3); var index=arr.indexOf(3); console.log(index); 检测第一个3出现的位置 var index=arr.indexOf(3,4);第二个参数 开始下标的值 console.log(index);检测第下标为4开始(数字5开始) 第一个3出现的位置 var index=arr.indexOf(10); console.log(index); //末尾就开始查找lastIndexOf() var index=arr.lastIndexOf(3); console.log(index);
以上是关于JS基础--定义 数据类型 数学时间函数 数组的主要内容,如果未能解决你的问题,请参考以下文章