简单只和复杂值的区别
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. 安装Ubuntu系统后的配置工作

    目录 卸载webapps和LibreOffice 修改软件更新和安装的apt源 修改安装python库的pip源 安装并设置搜狗输入法 安装vim.git.pip和tweak软件 修改用户主目录下的文 ...

  2. 一款开源且超好用的网站克隆机 HTTrack

    0x00 前言 我们在学习前端的时候,总是会想着去学习其他人网站是如何制作的,或者我们遇到一些比较有用的知识点的时候,我们可能会选择通过 Ctrl + C / Ctrl + V 去扒下内容,然而我并非 ...

  3. 【JavaWeb】JSON基础

    JSON JavaScript Object Notation(JavaScript 对象表示法): JSON是轻量级的文本数据交换格式: JSON独立于语言,具有自我描述性,更易理解: JSON语法 ...

  4. Java垃圾收集器——Serial,Parallel,CMS,G1收集器概述

    1.概述 Java应用启动的时候,除了配置Xms以及Xmx参数(Xmx:InitialHeapSize, Xms:MaxHeapSize),还需要选择合适的垃圾收集器. 截止Jdk1.8,共提供了7款 ...

  5. mysql-操作篇

    # ### mysqlctrl + l 清屏ctrl + c 终止[linux]service mysql start 启动mysqlservice mysql stop 停止mysqlservice ...

  6. CSS 轻松搞定标签(元素)居中问题

    在CSS里,标签位置居中一直是困扰Web前端的难题.在本文中,我对这类问题进行了探究和给出了几点建议,供读者参考. 1 行内标签 1.1 水平居中 在父级标签中使用 text-align: cente ...

  7. gevent实现协程

    gevent的好处:能够自动识别程序中的耗时操作,在耗时的时候自动切换到其他任务 # gevent的好处:能够自动识别程序中的耗时操作,在耗时的时候自动切换到其他任务 from gevent impo ...

  8. win10安装并激活office

    安装并且激活office 相信很多小伙伴在平时安装office时都会和一些流氓软件做过激烈的斗争,但是还是没有安装成功, 最后完美的安装了一些流氓软件.(苦笑) 下面我们来安装office并且破解 下 ...

  9. cannot resolve symbol 'XXX'

    原因:出现这种情况的原因是在IDEA或者myeclipse编译器中没有导入相关的jar包(jar包相当于类的集合,可以使用其中的类): 针对IDEA出现cannot resolve symbol 'X ...

  10. Paper | A novel deep learning-based method of improving coding efficiency from the decoder-end for HEVC

    目录 精彩叙述 细节 发表在2017年DCC. 这篇文章立意很简单,方法也很简单,但是做得早.效果好.引用量也不错(40+). 指标:在HEVC的intra.LDP.LDB和RA模式下,BDBR平均可 ...