数据类型:数字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  // undefinedperson.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来定义常量,一旦定义无法修改。块级作用域

JS数据类型与分支结构相关推荐

  1. mermaid与flowchart.js绘制流程图分支结构试验

    mermaid与flowchart.js绘制流程图分支结构试验 近日绘制流程图时对不断修改调整流程图中节点位置感到很厌烦,想要改用代码方式来写流程图.以下试验均基于CSDN编辑器的的mermaid和f ...

  2. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...

  3. python保留字分支结构_Python基础语法----缩进、注释、命名与保留字、数据类型、分支语句、函数...

    缩进 -严格明确:缩进是语法的一部分,缩进不正确程序运行错误 -所属关系:表达代码间包含和层次关系的唯一手段 -长度一致:程序内一致即可,一般用4个空格或1个TAB 注释 -用于提高代码可读性的辅助性 ...

  4. 分支结构||分支循环结构||使用原生js遍历对象

    分支循环结构 分支结构 v-show的原理:控制元素样式是否显示 display:none <!DOCTYPE html> <html lang="en"> ...

  5. day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  6. day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序

    1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...

  7. 数据传值方式、分支结构、循环结构

    运算符的优先级 要心如明镜:运算符有优先级(先后顺序)问题. 括号最优先,等号(赋值)最落后. 先乘除后加减 想不清楚或用不明白的,使用括号来解决 括号只有小括号,可以一层层嵌套. 数据的传值方式 在 ...

  8. js笔记(一)js基础、程序结构、函数

    大标题 小节 一.js 基础 1. javascript的组成: 2. 运行js: 3. 打印信息: 4. 关键字var: 5. js中的数据类型: 6. NaN(not a number): 7. ...

  9. python语言与c语言相比在分支结构上有什么不同_C语言顺序结构和分支结构总结...

    1. 本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 感觉学的内容比较基础,也是日后编程的基石.今后还应多加练习,能够更自如地运用,避免低级错误,一步步地提 ...

最新文章

  1. ngui 输入事件处理
  2. ARM 之十一__weak 和 __attribute__((weak)) 关键字的使用
  3. numpy 和tensorflow中argmax(),argmin()函数使用讲解
  4. 电子科大计算机调试,电子科大计算机学院 汇编语言程序设计 实验报告 99分精品版.doc...
  5. 软件测试管理是什么?
  6. BAT的医疗春秋大梦
  7. 关于oracle的锁的级别以及介绍
  8. Mohican_4/22 结构体 typedef 枚举 联合 位段 内存对齐
  9. linux钓鱼邮件,钓鱼邮件传播勒索病毒再升级,不落地加大查杀难度
  10. ionic2开发环境 linux,安装ionic开发环境
  11. 小米6手机投屏到wins 8.1电脑上的软件——scrcpy的安装与使用教程
  12. android立体3D效果_Android实现八大行星绕太阳3D旋转效果
  13. 免费的期刊论文文献检索网站(收集整理)
  14. 习题3-4 统计学生成绩(15 分)
  15. 问题三十一: 输入一个三位数n,判断输出n是否为水仙花数。 若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33)。
  16. BRDF公式的详细解析
  17. Selenium IDE录制脚本——Chrome浏览器使用介绍
  18. 质量管理体系之测试质量
  19. 隐藏在PPT中的后现代主义印象派作品
  20. 四个国产软件大推荐!功能强大到无法无天,建议收藏!

热门文章

  1. 单片机I/O口推挽输出与开漏输出的区别(open-drain与push-pull)
  2. CSP认证201409-4 最优配餐[C++题解]:bfs、多源bfs、最短路、图论
  3. c语言编程中句柄无效怎么解决,句柄无效,手把手教你句柄无效怎么解决
  4. php输出pre自动换行,解决 html pre 标签的内容自动换行的问题
  5. python 变量名重新赋值 变量重新赋值 通过字典的方式
  6. eclipse中java获取js的值_javascript – 如何在Eclipse中使用Selenium将外部.js导入我的Java测试?...
  7. 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
  8. mysql 单号,利用 MySQL 自增列生成订单号
  9. Php 链式执行,PHP实现链式操作的三种方法详解
  10. 数据库日常总结(笛卡儿积与笛卡儿集 )