zoukankan      html  css  js  c++  java
  • 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); 
    

      

  • 相关阅读:
    读《大道至简》第二章有感
    《大道至简》读后感
    JAVA课后作业
    大道至简第三章观后感
    JAVA作业之两数的加减乘除
    JAVA作业之动手动脑
    第一次Java实验
    大道至简第二章观后感
    大道至简第一章观后感
    Django__admin的配置
  • 原文地址:https://www.cnblogs.com/cgj1994/p/9501284.html
Copyright © 2011-2022 走看看