简单数据类型:字符串型、布尔型、数值型

变量名可以包含数字、字母、下划线、$,但不能以数字开头,大小写敏感,不能是JavaScript关键字、避开保留字

//JavaScript保留字
break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof //ECMA 262规范的保留字
abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public //部分浏览器中典型的保留字
alert eval location open array focus math outerHeight blur function name parent boolean history navigator parseFloat date image number regExp document isNaN object status escape length onLoad string

变量定义:var、let

变量作用域............

字符串型:单引号或双引号,支持转移序列、Unicode,其他类型可显式地用string()转换为字符串型,或自动转换

escape()/unescape()  把ASCII码转换成URL编码

encodeURI()/decodeURI()  能编码非ASCII字符集

encodeURIComponent()/decodeURIComponent()  能编码'&'、'+'、'=',可用于Ajax操作

布尔型:true和false、不必用引号引起来,其他类型可显式地用Boolean()转换为布尔型

数值型:JS的数字都是浮点,但小数部分可有可无

数值型没有小数点或小数部分是会被当做十进制整数,范围-253~253

浮点数范围应限制在-231~231

正无穷大(Infinity)、负无穷大(-Infinity),JS发生数学溢出是返回正无穷大

八进制(以数字0开头)、十六进制(以0x开头)

parseInt()/parseFloat()  parseInt()返回整数部分,parseFloat()返回字符串中第一个非数值字母前数字的值

parseInt()提供第二个参数(范围在2到36之间),指定第一个参数的进制,转换为十进制

Number()

isFinite()  Infinity和NaN返回false,其他返回true

null、undefined、NaN(字符串型和布尔型不能转换为数字时被认为是NaN)

isNaN()

const创建一个常量,只读

赋值语句(支持 var a = b = c = "" 赋值)、带运算符的赋值

算术语句

  二元运算符:+、-、*、/ (结果是浮点数)、%

    加法运算符有一个运算数是字符串时另一个若不是字符串则隐式转换成字符串,结果为两个字符串连接后的字符串

    其它运算符,运算结果为数值,运算数可以是字符串,但字符串所包含的必须是数值

  一元运算符:++(前/后缀)、--(前/后缀)、-

  位运算符:&、|、^、<<、>>(带符号右移)、>>>(用0补足的右移)

条件语句

  if 语句

    if (expression) {

      ...

    }

    if (expression) {

      ...

    } else if (expression) {

      ...

    } else {

      ...

    }

  switch 语句

    switch (expression) {

      case label1:

        statements

        [break]

      case label2:

        statements

        [break]

      ...

      default:

        statements

    }

    根据expression执行case语句(均不符合且有default则执行default),直到第一个break退出

条件运算符

  <、<=、>、>=、==、!=、===(等同/严格等于  只有类型和值都相同才为真)、!==

逻辑运算符:&&、||、!

循环语句

  while 循环

    while (expression) {

      ...

    }

  do...while 循环

    do {

      ...

    } while (expression)

  for 循环

    for (initial value; condition; update) {

      ...

    }

    for (variable in object) {

      ...

    }

  非跨平台标准的foreach

JavaScript(暂时弃坑...)的更多相关文章

  1. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

  2. (暂时弃坑)ACM数论之旅15---置换群与Polya定理(我把标题看成poi了,poipoipoi(*≧▽≦)ツ)

    (挖坑...) ////////////////////////////////////////////////// 暂时弃坑 开学了,有空再写....

  3. 【BZOJ】2959: 长跑(lct+缩点)(暂时弃坑)

    题目 传送门:QWQ 分析 看起来就是一个支持link的东西. 但有环,考虑缩点...... 但疯狂Tle.大概是常数卡不过去. 行走的大常数noble_ 代码 #include <bits/s ...

  4. 写个 Hello world - 前端从入坑到弃坑系列教程(1)

    这是一个系列教程<前端从入坑到弃坑>的第一篇. HTML 是什么 说白了,HTML 就是网页的内容.比如你现在正在阅读的这个网页的内容,就是 HTML.如果你还不明白,请继续往下阅读. 写 ...

  5. gulp-htmlone的BUG弃坑

    之前用项目用gulp-htmlone做最后的js和css内联打包出现各种问题 这次居然遇到打包后的css斜杠变反斜杠的问题 如下:/src/common/images/i_banner.jpg会被改成 ...

  6. jzy3D从入门到弃坑_4尝试使用jzy3D1.0画图失败

    jzy3D从入门到弃坑_4 尝试使用jzy3D1.0画图失败 觉得有用的话,欢迎一起讨论相互学习~Follow Me 记录一下使用jzy3D1.0失败 究其原因在于 本人才疏学浅,对于JAVA ope ...

  7. jzy3D从入门到弃坑_3使用jzy3D0.9画2D散点图--多条线条

    jzy3D从入门到弃坑_3 使用jzy3D0.9画2D散点图--多条线条 觉得有用的话,欢迎一起讨论相互学习~Follow Me 主要思路 将多个线条的二维数组读入Scatter对象 存入到同一个画布 ...

  8. jzy3D从入门到弃坑_2使用jzy3D0.9画2D散点图

    jzy3D从入门到弃坑_2 使用jzy3D0.9画2D散点图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在上一节中安装jzy3D 0.9版本并且运行了3D的例子 https://blog ...

  9. jzy3D安装到弃坑

    jzy3D从入门到弃坑 觉得有用的话,欢迎一起讨论相互学习~Follow Me 安装 http://www.jzy3d.org/ 官网 选择DL 选择0.9版使用,而不要使用其他版本 具体原因 高版本 ...

随机推荐

  1. {{angular.js 使用技巧}} - 实现计算列属性

    前端MV*框架现在有很多,其中某些框架有计算列(又叫监控属性),比如:微软推荐的 Knockout.js 和博客园司徒正美的 avalon.js 框架. 本人只使用过 Knockout.js,aval ...

  2. CentOS 6.4源码编译安装httpd并启动测试

    今天来总结一下在Linux中软件安装,通常我们应该知道,安装软件有两种方法:一种是软件包的安装,也就是rpm包的安装,就是指这些软件包都是 已经编译好的二进制rpm包,我们通过rpm安装工具和yum安 ...

  3. 动画操作 (Applying Animations) ngAnimate12

    动画操作 (Applying Animations) ngAnimate step 12 1.切换目录 git checkout step-12 npm start 2.效果图 这里在点击右边的缩略图 ...

  4. C# 利用反射动态创建对象——带参数的构造函数和String类型

    C# 利用反射动态创建对象——带参数的构造函数和String类型 最近笔者有一个想法需要利用反射动态创建对象(如string,int,float,bool,以及自定义类等)来实现,一直感觉反射用不好, ...

  5. sql 数据库的备份还原问题

    今天工作中犯了一个严重的错误,就是在sql中写了一个update语句,还没写条件呢,结果误按了F5,唉,太佩服自己啦...这个脑子怎么不管用了呢?? 唉不说了,我在网上翻来覆去的找资料,最终想是不是可 ...

  6. github 出现 Permission denied (publickey)的解决

    从github上clone的时候出现了以下错误 应该是ssh key过期了,试着重新创建ssh key,按以下步骤 1.  注意短横线前后都没有空格 接着一切都默认,它会在把ssh key 储存在 C ...

  7. Head first设计模式

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  8. Struts2更改配置文件struts.xml默认路径

    struts2配置文件默认存放路径在/WEB-INF/classes目录下,即将struts.xml放在src的目录下. 但是为了协作开发与方便管理,我们有时需要把struts.xml放到其他位置 s ...

  9. linux下使用kpartx挂载虚拟文件系统

    在linux中,如果映像文件(.img)含有分区表的话,那么用losetup这个程序来加载文件系统就有点力不从心了.因为losetup只能加载无分区的文件系统映像文件.不过有一个好东西配合losetu ...

  10. ToList<>()所带来的性能影响

    ToList<>()所带来的性能影响  前几天优化师弟写的代码,有一个地方给我留下很深刻的印象,就是我发现他总是将PLINQ的结果ToList<>(),然后再返回给主程序,对于 ...