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); 

  

猜你喜欢

转载自www.cnblogs.com/cgj1994/p/9501284.html