JS笔记01

js的组成与介绍

变量

操作符

流程控制

数组

冒泡排序

获取系统日期

JS的组成与介绍

介绍: js 是一门脚本语言,是一门解释性语言 ,是一门动态类型的语言 ,是一门基于对象的语言

组成:

  1. ECMScript标椎-----js的基本语法
  2. DOM----Domcument Object Model 文档对象模型
  3. BOM----Brower Object Model 浏览器对象模型

变量

  1. 定义:存储数据

  2. 声明变量并且初始化
    a: 变量声明(有var 有变量名字,没有值),js中的变量都是用var来声明的;

    var name;
    

    b: 变量初始化(有var 有变量名字,有值)

    var a=10;
    

    c:js中变量名的命名规范,要遵循驼峰命名法;一般以字母符号,¥符号,——下划线开头;

  3. 数据类型:
    js 中的原始数据类型 (6种):
    number , string , boolean, null ,undefined , object

  4. 获取数据类型:typeof

    有两种方式可以获取数据类型:

    a.typeof 变量名

    var num=10;
    console.log(typeof num);
    

    b.typeof (变量名)

    var num=10;
    console.log(typeof (num));
    
  5. 数据类型转换:
    其他类型转数字类型:三种方式

    a.转整数:parseInt()

    parseInt(变量);
    console.log(parseInt("10"));//10
    console.log(parseInt("10a"));//10
    
    

    b.转小数:parseFloat();

    praseFloat(变量);
    console.log(praseFloat(10.98));//10.98
    console.log(praseFloat(10.98ab));//10.98
    

    c.转数字:Number();

    Number(变量);
    console.log(Number(10));//10
    console.log(Number("g10"));//NaN
    
    关于NaN:判断一个变量的值,是不是数字
    var n1 = '123';
    var s = isNaN(n1);
    console.log(s);//true
    

    其他类型转字符串类型:两种方式

    a. 变量.toString();

    var num = 10;
    console.log(num.toString);//"10"
    

    b.String(变量);

    var num = 10;
    console.log(String (num));//"10"
    

    区别:
    如果变量有意义,则使用toString()方式转换 ;
    如果变量没有意义,则使用String()方式转换。

操作符

  1. 一元运算符:

    a.a++(++a)不参与运算时:

    //后加
    var a=10;
    a++;
    console.log(a);//a=11	
    
    //前加 
    var a=10;
    ++a;
    console.log(a);//11
    

    *总结:

    如果++没有参与运算,则前加与后加结果都相等;- -也相同。*

    b.a++(++a)参与运算时:

    var num=10;
    var sum=num++ +10;
    console.log(sum);//20
    
    var num = 10;
    var sum =++num + sum;
    console.log(sum);//21
    

    总结:

     如果++在后面,则先参与运算,运算结束后再自加1;
     如果++在前面,则先自加1,然后再参与运算;
     同样,前减与后减也如此;
    
  2. 比较运算符:

     a. ==   只比较变量中的值是否相等,不考虑存储地址;
     b. ===  用来判断值和存储地址必须同时相等;
     c. !=   判断值是否不相等,不考虑地址;
     d. !==  判断值和地址都不相等;
    

流程控制

 理解为代码的执行过程,有三种方式;
 分别是顺序结构,分支结构以及循环结构。
 *主要总结几个典型:*

分支语句:

  • 三元表达式:

    语法:var 变量 =表达式1?表达式2:表达式3;
    执行过程:
    如果表达式的结果是true,则执行表达式2,
    然后把结果传给变量;相反,则执行表达式3;

    var x=10;
    var y=20;
    var s = x>y?x:y;
    console.log(s);//20
    
  • switch-case语句:

    语法:switch(表达式){
    case 值1:代码1;break;
    case 值2:代码2;break;

    default;
    }
    注意问题:
    switch-case语句中和case后面的语句比较时使用的
    严格比较;
    defaulth与后面的break都可以省略;

    var n = 10;
    switch(n){
       case 20:alert("a");break;
       case 10:alert("b");break;
    }
    //代码弹框是b
    
    

循环结构:

  • while循环与do-while循环的区别:

    while循环:先判断,后循环,代码有可能一次都不执行
    do-while循环:先循环,后判断,代码至少执行一次

  • for 循环

    语法:for(表达式1;表达式2;表达式3){
    循环体;
    }

    forvar i=0;i<10;i++{
       var sum=0;
       sum+=i;
    }
    console.log(sum);
    
  • 关键字continue与break:

    continue特点:
    立即跳出本次循环,开始执行下一次循环
    break特点:
    立即跳出整个循环,循环结束

数组

  1. 创建数组:

    a.构造函数创建数组:
    var 自定义数组名 = new Array();

    var arr=new Array(1234);
    

    b.字面量创建数组:
    var 自定义数组名 = [];

    var arr=[1,2,3,"a",4];
    

    注意:数组中存储的数据类型并不一定都是一样滴
    数组长度也是可以改变的

  2. 获取数组长度:

    通过.length可以获取数组长度

    var arr = new Array(1,2,3,4);
    console.log(arr.length);//4
    
  3. 数组经典案例:

    a.求数组中所有元素最大值,最小值;

    //最大值
    var b=[11,2,34,89,56,37,98];
    var max=b[0];
    for(var i=0;i<b.length;i++){
       if(max<b[i]){
       max=b[i];
       }
    }
    console.log(max);
    //最小值同样的思路
    

    b.反转数组----把数组中的数据位置调换

    var a=[2,56,12,45,89];
    for(var i=0;i<length/2;i++){
        temp=a[i];
        a[i]=a[length-1-i];
        a[length-1-i]=temp;
    }
    console.log(a);
    //89,45,12,56,2
    

冒泡排序(算法)

  • 把所有的数据按照一定的顺序进行排列
    (从小到大,从大到小);
var arr=[10,0,100,20,40,60,23];
//控制外层循环
for(var i=0;i<arr.length,i++{
   //循环控制每一轮比较的次数
   for(var j=0;j<arr.length-1-i;j++{
     if(arr[j]<arr[j+1]{
		temp=arr[j+1];
		arr[j+1]=arr[i];
		arr[i]=temp;
      }
   }
}
console.log(arr);

获取系统日期

  • 获取系统时间:

    var 日期变量 = new Date();

    //获取日期的其他部分
    日期变量.getSeconds()----获取秒
    日期变量.getMinutes()----获取分钟
    日期变量.getHours()------获取小时
    日期变量.getDay()--------获取周几(0表示周日)
    日期变量.getDate()-------获取当前月的第几天
    日期变量.getMonth()------返回月份(从0开始)
    日期变量.getFullYear()---返回年份
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值