javascript基础入门之js中的数据结构与数据转换01

js的组成(ECMAScript、BOM、DOM)
        js中的打印语句:
        数据类型
        变量
        运算符
        数据类型转换
        js中三大特殊值

js的组成(ECMAScript、BOM、DOM)

①ECMAScript: ECMAScript是一个标准,它规定了语法、类型、语句、关键字、保留子、操作符、对象。(相当于法律);
②BOM(浏览器对象模型):对浏览器窗口进行访问和操作操作;
③DOM(文档对象模型):DOM把整个页面映射成一个多层节点结构。HTML页面组成都是某种类型的节点,这些节点又包含着不同类型的数据;
js中的打印语句:

①alert()  弹窗 弹出框,阻塞程序执行;
    ②document.write()   页面 打印页面,影响布局,某些情况下会覆盖页面;
    ③console.log();   打印到控制台;
    ④prompt()   打印可以输入对话的弹窗(弹出对话框);
    ⑤confirm()  弹出框    弹出一个确定或取消的对话框;

数据类型

1简单(原始)数据类型
①string 字符串 字符String 引号(’,") 引号包裹的数据都是字符;
②number 数字
NaN也是数字类型,表示not a number,无法计算结果
③Boolean 布尔 true false
④undefind 未赋值
⑤null 空
ES6中新增类型:
⑥symbol

复杂(对象)数据类型
    ①object 对象 用{} 包裹
    ②array 数组 用 [] 包裹
    ③function 函数

3.数据类型的检测typeof
运行返回类型值有:
string, 字符串
boolean, 布尔值(true/false)
number, 数字(包括NaN,isNaN()用来判断数据是否是NaN)
undefined, 未定义
object, 对象
function 函数
变量

变量的创建:
    声明:var,
    赋值运算符:=
关于变量命名注意事项:
    ①必须使用字母或者_或者$开头
    ②前缀最好使用数据类型的开头字母,能够更加语义化
    ③不能使用关键字和保留字作为变量名
            常见关键字:typeof,var,break,continue,return,default等等

运算符

1.算数运算符
+ 加(当+号两边,只要出现一个字符,那么就是字符串的拼接(连接),两边都是数值,才是数值的+)
- 减(和字符相加会隐式转换)
* 乘(和字符相加会隐式转换)
/ 除(和字符相加会隐式转换)
% 取余(和字符相加会隐式转换)

2.关系运算符
< 小于
> 大于
<= 小于
>= 大于等于
== 等于(注意一个"="是赋值)
=== 严格等于(没有隐式类型转换,比较时不仅比较值,还比较数据类型)

3.逻辑运算符
|| 或(有一个为true即为true)
&& 且(有一个为false即为false)
! 非(取反)

4.自增自减
n++ 先运算后增加,每次加一
++n 先增加后运算,每次加一
n-- 先减少后运算,每次减一
–n 先减少后运算,每次减一

5.赋值运算符
= 赋值
+= 累加
-= 减等
*= 乘积
/= 除等于
数据类型转换

1.字符转数值
①parseInt() 解析一个字符串,返回一个整数,从左到右检测,遇到数字转换,遇到非数字停止,第一位就非数字,转换停止输出NaN,会过滤小数点后面的内容,认为小数点是非数字;可以把其他进制转换成十进制,语法:parseInt(num,2/8/16)
②parseFloat() 解析一个字符串,返回一个浮点数,、从左到右检测,遇到数字转换,遇到非数字转换,遇到非数字停止,输出NaN,可以识别第一个小数点,第二个无效;
③Math.round() 严格转换,取最近的整数,不允许出现任何非数字,出现即为NaN;
④number() 严格转换,强制转换,可以识别小数点,不允许出现任何非数字,出现即为NaN

2.数字转字符
①num.tostring() 直接转换,相当于给数值添加了一个引号,另外还可以把十进制转换成其他,语法:num.toString(2/8/16)
②num.toFixed() 与toString一致,可以四舍五入保留n位小数

3.隐式类型在if场景下的转换规则(任何类型最终都以布尔值的形式存在ture/false):
①数值:两个数值比较,只要不出现0即为ture;
②字符:两个字符相比较,只要非空(双引号内啥也没有,包括空格)即为ture;
③对象:对象都为ture;
④数组:数组都为ture;
⑤函数:函数都为ture;
⑥underfind,NaN,null:三者出现都为false;

4.isNaN
js中三大特殊值

NaN,underfind,null
————————————————

附上csdn博客地址:
版权声明:本文为CSDN博主「、放肆」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43752578/article/details/100144904

最新文章

  1. 解决windows 10无法打开.hlp帮助文件的问题
  2. php 升级排错
  3. java-commons-HttpClient超时设置setConnectionTimeout和setSoTimeout
  4. C++11 并发指南六(atomic 类型详解四 C 风格原子操作介绍)
  5. [js] 有趣的js面试题,你答对了吗?
  6. PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: &#39;C:\\Users\\video\\AppData\\Local\\Temp\\tmpfipzk8ma&#39;--问题解决
  7. UESTC_In Galgame We Trust CDOJ 10
  8. 【算法系列学习】巧妙建图,暴搜去重 Counting Cliques
  9. javascript 学习笔记 -- js获取本地文件信息
  10. JSP自定义标签就是如此简单
  11. centos 安装mysql Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)
  12. KMSpico 无后门下载
  13. web.py框架之基本应用
  14. tomcat容器是如何创建servlet类实例?用到了什么原理?
  15. 【ZooKeeper】ZooKeeper入门流水记
  16. 学以致用一 安装centos7.2虚拟机
  17. Linux(Ubuntu)下如何解压 .zip 文件
  18. FineUI 修改config表属性
  19. iOS AOP框架Aspects实现原理
  20. caffe2 环境的搭建以及detectron的配置

热门文章

  1. Android组件内核之间组件间通信方案(四)下篇
  2. bootstrap学习(五)代码
  3. Spring定时器StopWatch
  4. display: flex属性介绍
  5. KiCAD泪滴
  6. jieba分词单例模式及linux权限不够情况下tmp_dir自定义
  7. vue生命周期-标注
  8. Ubuntu图形界面和终端界面切换快捷键
  9. Ubuntu开放对外端口
  10. JZOI1142 排队布局