简单只和复杂值的区别
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. python中Socket的使用

    说明 前一段时间学习python网络编程,完成简单的通过python实现网络通信的功能.现在,将python中Socket 通信的基本实现过程做一个记录备份. Socket通信 python 中的so ...

  2. [20190823]关于CPU成本计算3.txt

    [20190823]关于CPU成本计算3.txt --//前几天探究CPU cost时遇到的问题,获取行成本时我的测试查询结果出现跳跃,不知道为什么,感觉有点奇怪,分析看看.--//ITPUB原始链接 ...

  3. redis删除策略

    redis 设置过期时间 Redis 中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我们一般项目中的 token 或者一些登 ...

  4. windows宿主机和docker容器设置挂载共享文件夹

    docker容器内的程序经常需要访问.调用宿主机目录中的数据,每次都要导入导出非常麻烦费力. 接下来,一步步实现将宿主机的指定文件夹挂载到docker容器中. 1. 打开Oracle VM Vitua ...

  5. 利用开源软件自建WAF系统--OpenResty+unixhot

    目录 介绍 安装Openresty 修改nginx.conf 部署WAF 测试WAF 简介:利用OpenResty+unixhot自建WAF系统 介绍   OpenResty是一个基于 Nginx 与 ...

  6. 201871010116-祁英红《面向对象程序设计(java)》第二周学习总结

    博文正文开头格式:(3分) 项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https:/ ...

  7. web-文件包含

    提示 构造payload ?file=flag.php 得到一串字符,那么我们用PHP伪协议尝试一下 构造payload ?file=php://filter/read=convert.base64- ...

  8. C++标准库删除字符串中指定字符,比如空格

    参见:https://zh.cppreference.com/w/cpp/algorithm/remove 使用 erase 和 remove 配合. #include <algorithm&g ...

  9. SpringMVC拦截器(四)

    拦截器,本质类似于AOP,主要的应用场景: 日志记录:记录请求信息的日志,以便进行信息监控.信息统计.计算PV等. 权限检查:如登录检测,进入处理器检测是否登录,没有登录返回登录页面. 性能监控:记录 ...

  10. CCF模拟题-201909

    2.小明种苹果(续)(100分) #include<iostream> #include<cstdio> #include<cstring> #define max ...