JS数据类型与分支结构

数据类型:数字Number、字符串String、布尔值Boolean、空null、未定义undefined、数组Array、对象Object、函数Function
分支结构:选择、循环(类似java)

代码可在浏览器控制台或vscode(插件Code Runner)中运行

数字Number

JS不区分整数和浮点数,统一用Number表示。Number可以直接做四则运算,规则和数学中的一致

字符串String

用单引号或双引号括起来的任意文本,如:'abc'"xyz"

  1. 转义字符\

  2. 多行字符串:\n,或反引号``

    `
    这是
    多行
    字符串
    `;
    
  3. 模板字符串:` ${} `

    var name = '小明';
    var age = 20;
    var message = `你好,${name},你今年${age}岁了`;
    alert(message);
    
  4. 字符串索引。JS中字符串索引从0开始字符串不可变,无法对字符串的某个索引赋值

  5. 字符串操作常用函数

    函数功能
    toUpperCase()全部大写。非原地操作
    toLowerCase()全部小写。非原地操作
    indexOf()索引字符串出现位置
    substring()返回指定索引区间的子串

布尔值

truefalse

运算符
&&与。全true则true
||或。一true则true
!非。
==自动转换类型再比较。不建议使用
===不自动转换类型,直接比较

判断NaN的方法是通过isNaN()

NaN === NaN;  // false
isNaN(NaN);  // true

null和undefined

null表示空值,类似Java中的null、Python中的Nullundefined表示未定义,仅在判断函数参数是否传递的情况下使用

数组Array

按一组顺序排列的元素的集合。JS中的数组可以包含任意数据类型,如:

[1, 2, 3.14, 'Hello', null, true];
  1. 创建数组有两种方式:

    1. []括起,元素用,分隔。建议使用

    2. 使用Array()函数,如:new Array(1, 2, 3.14)

  2. 数组长度。

    1. 使用array.length获取数组长度

    2. 为``length`赋新值会导致数组长度变化

      var arr = [1, 2, 3];
      arr.length;
      arr.length = 6;
      console.log(arr);
      arr.length = 2;  // [ 1, 2, 3, <3 empty items> ]
      console.log(arr);  // [ 1, 2 ]
      
  3. 索引。JS数组索引值从0开始。可以通过索引修改数组中的值数组的长度

    var arr = [1, 2, 3];
    arr[1] = "fag";
    console.log(arr);  // [ 1, 'fag', 3 ]
    
    arr[5] = 123;
    console.log(arr);  // [ 1, 'fag', 3, <2 empty items>, 123 ]
    
  4. 多维数组。嵌套数组即可,如:var arr = [[1, 2, 3], [123, 234, 345]];

对象

JS对象是一组键值对构成的无序集合,键(对象的属性)为字符串类型,值的数据类型任意。

  1. {...}表示一个对象,键值对以xxx: xxx的形式声明,每个键值对用,分隔,最后一个键值对末尾不用加,
  2. 通过.访问属性。属性要求是有效变量名,若属性中包含特殊字符,则需要用''括起,用.['xxx']访问此属性
  3. 访问不存在的属性返回undefined
  4. JS对象是动态对象,可以自由给对象增加或删除属性。用in操作符判断对象是否存在或继承某个属性(所有对象都继承Object
var person = {
    name: 'Bob',
    age: 20,
    'university': 'PKU'
    tags: ['js', 'web', 'mobile'],
    city: 'Beijing',
    hasCar: true,
    zipcode: null
};

访问对象的属性(键)

person.name;  // 'Bob'
person.['university']  // 'pku'
person.weight  // undefined

person.high = 185;
delete person.city;

'name' in person;

分支结构

选择

if () {
    
} else if {
    
} else {
    
}

JS把nullundefined0NaN和空字符串''视为false,其他值一概视为true

循环

for (初始条件; 判断条件; 迭代语句){
    循环语句;
}
for (var 变量 in 变量){
    循环语句;
}

作用:遍历数组

while (){}


do{
} while () { 
}

变量

在JS中,变量名是大小写英文、数字、$_的组合,且不能用数字开头,也不能是JavaScript的关键字,如ifwhile等。

申明变量用var关键字,如:var a;var a_2 = '123';

JS是动态语言,变量的数据类型不固定,同一变量可以反复赋值,但只用var申明一次

var a = 123;
a = 'hello';

java是静态语言,申明变量时数据类型必须确定,且不能更改

int a = 123;
double b = 234.4;

JS为方便初学者学习,不强制用var申明变量,但不用var声明的变量会自动声明为全局变量,引起变量冲突或程序错误。

因此ECMA退出strict模式,强制通过var声明变量,否则将导致运行报错。

启动strict模式的方法是在JS代码第一行写上'use strict'。以下代码需测试在浏览器控制台

>'use strict';  // >为输入
<'use strict'  // <为输出
>c = 12;
<12
>console.log(c);
<undefined

常量

ES6标准引入新关键字cont来定义常量,一旦定义无法修改。块级作用域

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值