js

146 阅读3分钟

一、概述

JavaScript的作用

  • 表单动态校验(js的最初目的)

  • 网页特效

  • 服务端开发(Node.js)

  • 桌面程序(Electron)

  • app(Cordova)

  • 控制硬件--物联网(Ruff)

  • 游戏开发(cocos2d-js) js的组成 javascript语法:ECMAScript

  • ECMAScript和javaScript的关系:前者是后者的规格,后者是前者的一种实现。

页面文档对象模型:DOM

  • 提供操作html文档中html元素的能力

浏览器对象模型:BOM

  • 提供操作浏览器的能力 javascript书写分为:行内式、内部式、外链式

二、变量

什么是变量

通俗:变量是用于存放数据的容器,我们通过变量获取数据,

本质:变量是程序在内存中申请的一块用来存放数据的空间

变量初始化---->申请变量并赋值(只声明不赋值导致结果undefined)

三、数据类型

什么是数据类型

是变量指向的存储单元中存放的数据的类型 ,而数据类型可以分为简单数据类型和复杂数据类型。

简单数据类型说明默认值
number数字型0
boolean布尔类型false
string字符串类型''
undefinedvar a;声明了变量a但没有给值,此时a=undefinedundefined
nullvar a =null; 声明 了变量a 为空值object

简单类型又叫做基本数据类型或者值类型,复杂类型又叫做引用类型

引用类型:通过new关键字创建的对象,如Object 、Array、Date等。

要掌握关于数据类型检测、数据类型转换、运算符

数据类型检测:

简单数据类型: 判断 typeof 判断非数字isNaN 检查对象数据类型:instanceof

数据类型转换

  1. 转字符型
  // 1.把数字型转换为字符串型   变量.toString()
        var num = 10;
        var str = num.toString();
        console.log(str);
        console.log(typeof str);
        // 2.利用String(变量)
        console.log(typeof String(num));
        // 3. 利用+ 拼接字符串的方法实现转换效果  隐式转换
        console.log(typeof(num + ''));
  1. 转数字型

    // 1.parseInt(变量) 可以把字符型的转换成数字型, 得到的是整数
    console.log(parseInt('3.14')); //3取整
    console.log(parseInt('120px'));
    //从左往右按位转换,遇到非数字值会停止。
    // 2.parseFloat(变量) 可以把字符型的转换为数字型, 得到的是小数
    console.log(parseFloat('3.14'));
    //3.利用Number(变量)
    var str='123';
    console.log(Number(str));
    //4.利用算数运算符 - * / % 隐式转换
    console.log('12'-0); //12
    

    案例:

    //计算年龄
    var year =promt('请输入出生年份:');
    var age=2021-year; //year取过来的是字符串型  但这里有隐式转换
    alert('今年'+age+'岁了');
    
    1. 转布尔类型

      console.log(Boolean('')); //false
      

      代表空、否定的值会被转换为false,如''、0、NaN、null、undefined.

运算符

注意:=== 和 ==的区别, == 表示先转换类型(自动)再比较。

=== 先判断数据类型,(类型不同时,不会自动转换类型)如果不是同一类型直接为false。如果类型相同,再判断其值,如果值也相同则返回true,否则返回false。表示的是绝对的相等。

特殊情况:false && false 当左边为false时,右边不参与运算 =>短路运算。【面试题】

console.log(true && alert(1))  //后面的语句会执行
console.log(false && alert(1))  //后面的语句不执行

注:关系运算符的比较,变量不能写在右边。