zoukankan      html  css  js  c++  java
  • 慕课前端入门-js语法

    1. js简介

    • js是脚本语言
    • js是事件驱动的
    • js是独立平台的

    2.注释

    //单行注释
    /* 多行注释*/
    

    3.js的标示符

    3.1 什么是标示符

    变量、函数、属性的名字,或者函数的参数

    3.2 标示符的命名规则

    1. 由字母、数字、_或$组成
    2. 不能以数字开头
    3. 不能适用关键字,保留字作为标示符

    3.3 js的变量是松散类型

    松散类型:可以用来保存任何类型的数据。即每个变量仅仅是一个用于保存值的占位符而已。
    变量声明:使用var操作符。省略var声明的变量是全部变量

    //直接赋值
    var a=1;
    //先声明,再赋值
    var b;
    b=2;
    //一次声明多个变量
    var c=3,d="hello",e;
    

    4. 简单数据类型

    简单数据类型:undefined、null、boolean、number、string
    复杂数据类型:object

    4.1检测变量类型typeof

    typeof的返回值有Undefined、Null、Boolean、Number、String、Object

    typeof 变量
    typeof(变量)
    

    4.2 undefined未定义

    var a;
    

    一个没有值的变量,就是undefined。
    undefined派生自null,所以undefined==null返回的结果是true。

    4.3 null 空对象指针

    var a=null;//值为 null(空), 但类型为对象
    

    4.4 number整数和浮点数

    非数值NaN

    NaN:即非数值(Not a Number)是一个特殊的数值。
    isNaN(n):检测n是否是非数值,返回值是boolean

    console.log(18-"abd"); //NaN
    console.log(isNa(18)); //false
    console.log(isNan("19")); //false isNan()对接收的变量,会先尝试转换为数值,再检测
    

    说明:

    1. 任何涉及NaN的操作,都会返回NaN
    2. NaN与任何值都不相等,包括NaN本身

    数值转换

    Number("16");
    Number("abc");//NaN
    parseInt("28px");//28
    parseInt("0xf",16);//15
    parseFloat("12.34.56");//12.35
    parseFloat("0xf");//0
    

    parseInt

    1. 会忽略字符串前面的空格,直至找到第一个非空格字符
    2. 转换空字符串返回NaN
    3. 这个函数提供第2个参数:转换时使用的进制
    parseFloat
    1. 从第一个字符开始解析每个字符,直至遇见一个无效的浮点数为止。即只有第一个小数点有效
    2. 始终都会忽略前导的0

    4.5 String

    字符串由双引号或单引号成对包裹。

    //将变量转换成字符串。返回值是str的一个副本。参数可以是数值、布尔值、对象和字符串
    a.toString();
    //注意:在不知道参数是不是null或undefined的情况下,还可以使用String()函数。它能够将任何类型的值转换为字符串
    String(a);
    

    4.6 boolean

    类型转换:

    1. 除0之外的所有数字,转换为布尔类型都为true
    2. 除""之外的所有字符,转换为布尔类型都为true
    3. null和undefined转换为布尔类型为false
    ```#js Boolean(0); //false Boolean(1); //true Boolean(""); //false Boolean(" "); //true Boolean(null); //false Boolean(undefined); //false ```

    5. 表达式

    表达式是将同类型的数据(),用运算符号按一定的规则连接起来的,有意义的式子。
    操作符的分类:算术操作符、逻辑操作符、负值操作符、比较操作符、三元操作符。

    5.1 算术操作符

    /*
    + - * / % 递增 递减
    左递增:先返回递增之后的值
    右递增:先返回原来的值,再返回递增之后的值
    */
    x1=20,x2=30;
    x3= --x1 + x2--;//x3=19+30=49
    x2; //29 
    

    5.2 赋值操作符

    简单赋值:=
    复合赋值:+= -= *= /= %=
    如果包含字符串,+就是连接符

    a=5
    a%=3; //a=2
    

    5.3 比较连接符

    /*
    >
    < 
    >= 
    <= 
    == 相等,只比较值是否相等
    != 不相等,比较值是否不相等
    === 全等,比较值的同时,比较数据类型,是否相等
    !== 不全等,比较值的同时,比较数据类型是否不相等
    null == undefined:undefined派生于null,所以值相等
    */
    ###      5.4 三元操作符
    ```#js
    条件?代码1: 代码2;
    

    可替代简单的if语句,如果条件成立,执行代码1,否则执行代码2

    5.5 逻辑操作符

    &&与

    1. 当操作布尔值的时候,就返回布尔值
    2. 在有一个操作数不是布尔值时,与不一定返回布尔值,此时它将遵循以下条件:
      1. 如果第一个操作数隐式类型转换为true,则返回第二个操作数 "hello" && 30 -> 30
      2. 如果第一个操作数隐式类型转换为false,则返回第一个操作数。0 && 88 -> 0
      3. 当前面的操作数隐式类型转换为true时,如果有一个操作数是null,则返回null。null && 0-> null
      4. 当前面的操作数隐式类型转换为true时,如果有一个操作数是NaN,则返回NaN。NaN && 0-> NaN
      5. 当前面的操作数隐式类型转换为true时,如果有一个操作数是Undefined,则返回Undefined。Undefined && 0-> Undefined
    || 或
    1. 当操作布尔值的时候,就返回布尔值
    2. 在有一个操作数不是布尔值时,逻辑或就不一定返回布尔值,此时它遵循以下规则:
      1. 2个都是操作数,如果第一个操作数隐私类型转换为true,则返回第一个操作数。"hello" || 30 -> "hello"
      2. 2个都是操作数,如果第一个操作数隐式类型转换为false,则返回第二个操作数,依此类推。"" || 30 -> 30
    非 无论操作数是什么数据类型,逻辑非都会返回一个布尔值 !!"" -> false; !!"blue"; -> true
  • 相关阅读:
    安卓跑马灯
    utf-8加密用于汉字加密(避免乱码)
    设置将edittext的光标到最后
    自定义UIProgressView,实现渐变色进度条,带动画的
    UIImageView帧动画,包含暂停和继续功能
    UIImageView关键帧动画,监听动画结束的回调
    自定义UICollectionViewFlowLayout实现横向滚动时,离中心点越近,item越大,离中心店越远,item越小的效果
    iOS中UIView的Pan手势和UIScrollView滚动手势的冲突解决方案
    使用Cocoapods创建私有库的流程
    git代码仓库迁移的步骤
  • 原文地址:https://www.cnblogs.com/csj2018/p/13643748.html
Copyright © 2011-2022 走看看