简单只和复杂值的区别
1.简单值
简单值表示JS中可用的数据或信息的最底层简单形式。
注:简单之不可被细化。
也就是说,数字是数字,字符是字符,布尔值是true或false,null和undefined就是null和undefined。这些值本身很简单,不能够再进行拆分。由于简单值的数据大小是固定的,所以简单值的数据是存储与内存中的栈区里面的。
例:
let num = 10;
let bol = true;
let myNull = null;
let undef = undefined;
2.复杂值
在JS中,对象就是一个复杂值。因为对象可以想下拆分,拆分成多个简单值或者复杂值。复杂值在内存中的大小是未知的,因为复杂值可以包含任何值,而不是一个特定的已知值。所以复杂值的数据都是存储于堆区里面的。
比较
例:
let a = 10;
let b = 10;
let c = new Number(10);
let d = c;
console.log(a === b);//true
console.log(a === c);//false
console.log(a == c);//true
d = 10;
console.log(d == c);//true
console.log(d === c);//false
===为全等
!==不全等
==相等
!=不等
>大于
<小于
>=大于等于
<=小于等于
注:大于等于/小于等于中“=”要在大/小符号后面!
类型转换
1.隐形转换
类型 转换前 转换后
number 4 4
string ‘1’ 1
string ‘abc’ NaN
string ‘’ 0
boolean true 1
boolean false 0
undefined undefined NaN
null null 0
注:转换字符串使用“+”号时,会自动转换为字符串
注2:转换为布尔值,undefined,null,"",0,NaN转为false,其余转为true
2.强制转换
转换为数值number(),parseInt(),parseFloat()转换函数:
(1)转换字符串:a=""+数据
(2)转换布尔:!书籍类型
(3)转换数值:数据类型*或/1
运算符
算数运算符
+,-,*,/,**(乘方),%(余数,小学知识)
注:可以给元素进行赋值然后运算
逻辑运算符
1.非
就是取反,非真即假,非假即真
如果操作数是一个一个对象,返回false
如果操作数是一个一个空字符串,返回true
如果操作数是一个一个非空字符串,返回false
如果操作数是数值0,返回true
如果操作数是任意非0数值(包括Infinity),返回false
如果操作数是null,返回true
如果操作数是NaN,返回true
如果操作数是undefined,返回true
2.与(且)
作用两个到多个值,只有所有操作数为真,才为true
3.或
作用两个到多个值,有一个为真,就为真。
条件语句
含义:主要是给定一个判断条件,在程序执行过程中判断该条件是否成立,然后根据判断结果来执行不同的操作,从而改变代码的执行顺序,实现更多功能。
1.单分支语句
单分支语句由一个if组成,条件成立,就进行代码块开始执行语句。
例:
if(条件){
//条件为真时执行的代码
}
2.双分支语句
有两个分支线,如果if不成立,就会跳到else语句中。
例:
if(条件){
//条件为真时执行的代码
}else{
//条件为假时执行的代码
}
3.三目运算符
if...else语句的一个缩写方法,就是用三目运算符?:
语法:条件?(条件为真时执行的代码):(条件为假时执行的代码)
例:
let age = 16;
let result = age>=18 ? "成年" : "未成年";
console.log(result);//未成年
多分支语句
多个if...else语句可以组合在一起,形成逻辑决策树
例:
if(条件){
//执行语句
}else if(条件){
//执行语句
}else{
//执行语句
}
注:多分支语句只执行其中一个。
2.switch语句
有一种比多分支语句结构更加清晰的语句结构,就是<br>switch
例:
switch(条件){
case 1:
//执行语句;
break;
case 2:
//执行语句;
break;
case 3:
//执行语句;
break;
default:
//执行语句;
}
注:break=用于调出某个case,不写break的话,进入cses后会继续进入后面的caes
注2:default=用于书写默认的条件,如果前面都不满足的话,就进入到default语句

JS初始的更多相关文章

  1. vue.js初始学习笔记&vue-cli

    笔记一下: vue.js 安装,参考: http://www.cnblogs.com/wisewrong/p/6255817.html (vue-cli) http://www.cnblogs.com ...

  2. 001——vue.js初始安装:

    windows下安装: 1.https://nodejs.org/en/  下载安装node.js. 在cmd窗口输入node -v检查node是否安装成功. npm也随着node安装了:npm -v ...

  3. 表格数据js初始绑定

    html调用js文件,js初始化时发送Ajax请求,获取页面数据将其写入在html页面上展示 html <div class="card-body"> <!-- ...

  4. js插件---画图软件wePaint如何使用(插入背景图片,保存图片,上传图片)

    js插件---画图软件wePaint如何使用(插入背景图片,保存图片,上传图片) 一.总结 一句话总结:万能的wPaint方法,通过不同的参数执行不同的操作.比如清空画布参数传"clear& ...

  5. 手写 Vue2 系列 之 初始渲染

    前言 上一篇文章 手写 Vue2 系列 之 编译器 中完成了从模版字符串到 render 函数的工作.当我们得到 render 函数之后,接下来就该进入到真正的挂载阶段了: 挂载 -> 实例化渲 ...

  6. Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)

    C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由 ...

  7. 前端工程师如何快速的开发一个微信JSSDK应用

    亲们,订阅号出来已经很久了,作为一个前端工程师或者全栈工程师,你是不是错过了什么?大概许多攻城狮同砚还没有反应过来订阅号怎么回事,就马上要被微信的应用号秀一脸了.在应用号还没有正式出来之前,我们赶紧一 ...

  8. web 前端常用组件【04】Datetimepicker 和 Lodop

    web项目中日期选择器和打印这两个功能是非常常见,将使用过的日期和打印控件,在这里总结归纳,为方便后面使用. 1.Datetimepicker a.官方API:http://www.bootcss.c ...

  9. h5 canvas 图片上传操作

    最近写的小 demo,使用的是h5的 canvas来对图片进行放大,移动,剪裁等等这是最原始的代码,比较接近我的思路,后续会再对格式和结构进行优化 html: <pre name="c ...

随机推荐

  1. easyui权限

    实现权限目的: 是为了让不同的用户可以操作系统中不同资源 直接点说就是不同的用户可以看到不同的菜单 我们先来看下3张接下来用到的数据表 1.菜单表(t_easyui_menu) 2.用户菜单中间表(t ...

  2. 3. Vue - 指令系统

    一.vue指令 (1) v-if // 条件判断 如果条件成立就在页面上生成一个标签并显示出来 (2) v-show //DOM中都存在只是显示与否 (3) v-for //注意 v-bind:key ...

  3. 2. Go语言—包概念

    一.包的概念 和python一样,把相同功能的代码放到一个目录,称之为包 包可以被其他包引用(若包中变量/函数被其他包调用,名需大写) main包是用来生成可执行文件,每个程序只有一个main包 包的 ...

  4. Requests 详解

    什么是Requests Requests是用Python语言编写,基于urllib,他比urllib更加方便,可以节约我们的大量工作,完全满足HTTP测试需求

  5. jmeter BeanShell的几种使用方式

    jmeter的BeanShell Sampler,可以直接引用java代码,有下面3种方式: 1.直接输入java代码:2.导入java文件:3.导入class文件 BeanShell脚本访问变量主要 ...

  6. Appium 定位

    使用过 Appium 的都知道,元素的定位方式有很多种,具体使用哪一种,主要看业务的需要和自己的使用爱好.下面总结一下,Appium 到底有哪些定位方式,定位的元素以下面截图指定的元素为例子:   这 ...

  7. LG2921 [USACO2008DEC]Trick or Treat on the Farm 内向基环树

    问题描述 LG2921 题解 发现一共有 \(n\) 个点,每个点只有一条出边,即只有 \(n\) 条边,于是就是一个内向基环树. \(\mathrm{Tarjan}\) 缩点. 但是这个题比较猥琐的 ...

  8. 线上问题排查利器Arthas

    官方文档 下载arthas-boot.jar,然后用java -jar的方式启动: curl -O https://alibaba.github.io/arthas/arthas-boot.jar j ...

  9. 关于ios 11.X后微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等问题的处理

    环境: 认证路由ROS ,认证后台python django ios11系统 更新以来先后出现微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等相关问题. 经过问题的收集,查询到网络 ...

  10. CSP-S 2019 题解

    D1T1-格雷码 题中给出了构造格雷码的方法. $solve(n,k)$表示求出$2^n$意义下排名为$k$的格雷码, 只要比较一下考虑最高位的0/1取值就好了. 部分分提示了要开$unsigned\ ...