JS数据类型与分支结构
数据类型:数字Number、字符串String、布尔值Boolean、空null、未定义undefined、数组Array、对象Object、函数Function
分支结构:选择、循环(类似java)
代码可在浏览器控制台或vscode(插件Code Runner)中运行
数字Number
JS不区分整数和浮点数,统一用Number表示。Number可以直接做四则运算,规则和数学中的一致
字符串String
用单引号或双引号括起来的任意文本,如:'abc'
、"xyz"
转义字符
\
多行字符串:
\n
,或反引号``` 这是 多行 字符串 `;
模板字符串:` ${} `
var name = '小明'; var age = 20; var message = `你好,${name},你今年${age}岁了`; alert(message);
字符串索引。JS中字符串索引从0开始;字符串不可变,无法对字符串的某个索引赋值
字符串操作常用函数
函数 功能 toUpperCase() 全部大写。非原地操作 toLowerCase() 全部小写。非原地操作 indexOf() 索引字符串出现位置 substring() 返回指定索引区间的子串
布尔值
true
、false
运算符 | |
---|---|
&& | 与。全true则true |
|| | 或。一true则true |
! | 非。 |
== | 自动转换类型再比较。不建议使用 |
=== | 不自动转换类型,直接比较 |
判断NaN
的方法是通过isNaN()
NaN === NaN; // false
isNaN(NaN); // true
null和undefined
null
表示空值,类似Java中的null
、Python中的Null
。undefined
表示未定义,仅在判断函数参数是否传递的情况下使用
数组Array
按一组顺序排列的元素的集合。JS中的数组可以包含任意数据类型,如:
[1, 2, 3.14, 'Hello', null, true];
创建数组有两种方式:
用
[]
括起,元素用,
分隔。建议使用使用
Array()
函数,如:new Array(1, 2, 3.14)
数组长度。
使用
array.length
获取数组长度为``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 ]
索引。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 ]
多维数组。嵌套数组即可,如:
var arr = [[1, 2, 3], [123, 234, 345]];
对象
JS对象是一组键值对构成的无序集合,键(对象的属性)为字符串类型,值的数据类型任意。
- 用
{...}
表示一个对象,键值对以xxx: xxx
的形式声明,每个键值对用,
分隔,最后一个键值对末尾不用加,
- 通过
.
访问属性。属性要求是有效变量名,若属性中包含特殊字符,则需要用''
括起,用.['xxx']
访问此属性 - 访问不存在的属性返回
undefined
- 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把null
、undefined
、0
、NaN
和空字符串''
视为false
,其他值一概视为true
循环
for (初始条件; 判断条件; 迭代语句){循环语句;
}
for (var 变量 in 变量){循环语句;
}
作用:遍历数组
while (){}do{} while () {
}
变量
在JS中,变量名是大小写英文、数字、$
和_
的组合,且不能用数字开头,也不能是JavaScript的关键字,如if
、while
等。
申明变量用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数据类型与分支结构相关推荐
- mermaid与flowchart.js绘制流程图分支结构试验
mermaid与flowchart.js绘制流程图分支结构试验 近日绘制流程图时对不断修改调整流程图中节点位置感到很厌烦,想要改用代码方式来写流程图.以下试验均基于CSDN编辑器的的mermaid和f ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...
- python保留字分支结构_Python基础语法----缩进、注释、命名与保留字、数据类型、分支语句、函数...
缩进 -严格明确:缩进是语法的一部分,缩进不正确程序运行错误 -所属关系:表达代码间包含和层次关系的唯一手段 -长度一致:程序内一致即可,一般用4个空格或1个TAB 注释 -用于提高代码可读性的辅助性 ...
- 分支结构||分支循环结构||使用原生js遍历对象
分支循环结构 分支结构 v-show的原理:控制元素样式是否显示 display:none <!DOCTYPE html> <html lang="en"> ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- day02--java基础编程:变量,数据类型,类型转换,运算规则,Scanner,运算符,分支结构,循环(随机数),方法,重载,可变参数,递归,数组,冒泡排序
1 Day02–变量+数据类型+类型转换 1.1 前言 1.1.1 标识符 可以简单的理解为一个名字.在Java中,我们需要标识代码的很多元素,包括包名.类名.方法.字段.变量等.我们选择的名称就称为 ...
- 数据传值方式、分支结构、循环结构
运算符的优先级 要心如明镜:运算符有优先级(先后顺序)问题. 括号最优先,等号(赋值)最落后. 先乘除后加减 想不清楚或用不明白的,使用括号来解决 括号只有小括号,可以一层层嵌套. 数据的传值方式 在 ...
- js笔记(一)js基础、程序结构、函数
大标题 小节 一.js 基础 1. javascript的组成: 2. 运行js: 3. 打印信息: 4. 关键字var: 5. js中的数据类型: 6. NaN(not a number): 7. ...
- python语言与c语言相比在分支结构上有什么不同_C语言顺序结构和分支结构总结...
1. 本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 感觉学的内容比较基础,也是日后编程的基石.今后还应多加练习,能够更自如地运用,避免低级错误,一步步地提 ...
最新文章
- ngui 输入事件处理
- ARM 之十一__weak 和 __attribute__((weak)) 关键字的使用
- numpy 和tensorflow中argmax(),argmin()函数使用讲解
- 电子科大计算机调试,电子科大计算机学院 汇编语言程序设计 实验报告 99分精品版.doc...
- 软件测试管理是什么?
- BAT的医疗春秋大梦
- 关于oracle的锁的级别以及介绍
- Mohican_4/22 结构体 typedef 枚举 联合 位段 内存对齐
- linux钓鱼邮件,钓鱼邮件传播勒索病毒再升级,不落地加大查杀难度
- ionic2开发环境 linux,安装ionic开发环境
- 小米6手机投屏到wins 8.1电脑上的软件——scrcpy的安装与使用教程
- android立体3D效果_Android实现八大行星绕太阳3D旋转效果
- 免费的期刊论文文献检索网站(收集整理)
- 习题3-4 统计学生成绩(15 分)
- 问题三十一: 输入一个三位数n,判断输出n是否为水仙花数。 若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33)。
- BRDF公式的详细解析
- Selenium IDE录制脚本——Chrome浏览器使用介绍
- 质量管理体系之测试质量
- 隐藏在PPT中的后现代主义印象派作品
- 四个国产软件大推荐!功能强大到无法无天,建议收藏!
热门文章
- 单片机I/O口推挽输出与开漏输出的区别(open-drain与push-pull)
- CSP认证201409-4	最优配餐[C++题解]:bfs、多源bfs、最短路、图论
- c语言编程中句柄无效怎么解决,句柄无效,手把手教你句柄无效怎么解决
- php输出pre自动换行,解决 html pre 标签的内容自动换行的问题
- python 变量名重新赋值 变量重新赋值 通过字典的方式
- eclipse中java获取js的值_javascript – 如何在Eclipse中使用Selenium将外部.js导入我的Java测试?...
- 棋盘最短路径 python_Dijkstra 最短路径算法 Python 实现
- mysql 单号,利用 MySQL 自增列生成订单号
- Php 链式执行,PHP实现链式操作的三种方法详解
- 数据库日常总结(笛卡儿积与笛卡儿集 )