2019独角兽企业重金招聘Python工程师标准>>>

1. 基础部分

1.1 标识符

指变量、函数、属性的名字,或者函数的参数
规则:
  1. 第一个字符必须是字母、下划线、美元符号
  2. 其他字符可以是字母、下划线、美元符号或数字
  3. ECMAScript标识符采用驼峰命名法
  4. 不能用做标识符的有:关键字、保留字、true、false、null

1.2 注释

ECMAScript使用C风格注释
两种注释方式:
  1. 单行注释

//两个左斜杠

  1. 块级注释

/*

  • 注释内容,此行首的星号可省略,一般为提高注释可读性
    */

1.3 语句

ECMAScript中的语句以一个分号(;)结束,如果省略分号,则由解释器确定语句的结尾

var sum = a + b //即使没有分号,也是有效语句,但是不推荐
var diff = a - b; //有效的语句,推荐

可以使用C风格的语法,把多条语句组合到一个代码块中,即放入到花括号{}中,例如:

if(test){
    console.log(test);
}

1.4 关键字 和 保留字

ECMA-262 确定了一组具有特殊用途的关键字,这些关键字可用于语句控制或者一些特殊指令,关键字不能用于标识符 如下:

break  do  instanceof  typeof
case  else  new  var catch
finally  return  void  continue
for switch while debugger
function this with default
if throw delete in try

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

在第五版非严格模式下运行时,保留字缩减为一下这些:

class enum extends super const export import

在第五版严格模式下,还对以下保留字做了限制:

implements package public interface
private static let protected yield

let 和 yield是第五版新增保留字,其余都是第三版

第五版中,虽然不能使用关键字和保留字作为标识符,但是用做对象的属性名。 但不推荐这样做,以便于将来更好的与ECMAScript版本兼容。

1.5 变量

ECMAScript的变量是松散类型
定义变量时要使用var操作符,例如:var message; 这里定义了一个名为message的变量,该变量可以用于保存任何值。
ECMAScript也支持直接初始化变量,因此在声明变量的同时就可以做赋值操作,例如:var message = 'Hi';
也可以更改变量类型,如下:
         var message = 'Hi'; //声明message为字符串变量
         message = 100; //更改message变量类型为数字,有效的操作,但是不推荐
需要注意的是,var声明的变量将成为该变量所在作用域的局部变量,如果该变量是在一个函数内定义,那么变量在函数执行完毕退出后就会被销毁,例如:

function test(){
    var message = 'Hi'; //局部
}
test();
console.log(message); //错误的

上面的console输出会报错,但如果省略var,直接声明message,那么该变量则为全局变量,但是不建议这样做,因为过多的全局变量会造成难以控制而导致全局变量污染。
我们也可以用一条语句定义多个变量,如下:

var message = 'Hi',
      found = false,
      age = 32;

1.6 数据类型

ECMAScript中有五种简单数据类型,也称作基本数据类型:

  • Undefined
  • Null
  • Boolean
  • String
  • Number

还有一种复杂数据类型:

  • Object

Object本质上是由一组无序键值对组成。ECMAScript不支持任何形式的自定义类型,所有值最终都是上述六种类型之一。因为ECMAScript数据类型的动态性这个特点,也确实没有定义其他更多类型的必要了。

1.7 使用typeof检测数据类型

typeof是操作符,不是函数

返回值是以下某个字符串

  • "undefined"
  • "boolean"
  • "string"
  • "number"
  • "object"
  • "function"

有时候,typeof会返回一些比较迷惑人的但正确的值,比如typeof null,会返回"object", 因为特殊值null被认为是一个空对象引用,Safari5及之前版本、Chrome7及之前版本对正则表达式调用typeof操作符会返回"function", 而其他浏览器会返回"object"。

转载于:https://my.oschina.net/u/1019341/blog/1589547

Javascript基础知识 - 基础部分相关推荐

  1. 计算机二级公共基础知识2017,2017年计算机二级公共基础知识基础试题

    2017年计算机二级公共基础知识基础试题 随着微处理机的迅速发展,计算机广泛应用于工业.农业.文化教育.卫生保健.服务行业.社会公用事业等.yjbys小编收集了一些关于计算机二级公共基础知识基础试题, ...

  2. JAVA基础知识+基础代码

    Java基础知识 异常处理 try {} catch(Exception e) {} void work() throws Exception {} //抛出异常 throw new Exceptio ...

  3. Javascript(前端知识)----------基础语法

    多态的本质是:让用户不知道引用实际上是什么类型,也能调用里面的方法,让封装更进一步,降低了用户的使用成本: 举例子: 1)集合类: List<String> list=new ArrayL ...

  4. 计算机基础知识--基础知识

    计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能.是能够按照程序运 ...

  5. Arduino入门必备基础知识(基础认证考前总结)

    最近开始准备考取Arduino的官方认证,但之前没有系统地学习,因此打算好好整理一下,一方面当作考试复习,另一方面给想学习Arduino的朋友们一些帮助 在学习之前,建议大家先在Arduino中文社区 ...

  6. 计算机电脑显卡基础知识,基础电脑显卡知识,你还不知道吗?别再被坑了!

    大家都知道,显卡是我们电脑必不可少的配件之一,无论是集成显卡还是独立显卡都承担着必不可少的工作,那么大家在选择显卡的时候应该了解哪些知识呢?下面听小编为你一一介绍! 1.GPU是什么:众所周知,GPU ...

  7. java基础知识——基础语法

    java的基本语法格式 [修饰符] class 类名{程序代码 } 方法的定义 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名(参数类型 参数名){...方法体...return ...

  8. 2016考试计算机知识基础题库,2016年计算机二级公共基础知识基础练习题演练(6)...

    1[单选题] 下列关于栈的叙述中,正确的是 A.栈底元素一定是最后入栈的元素 B.栈顶元素一定是最先入栈的元素 C.栈操作遵循先进后出的原则 D.以上说法均错误 参考答案:C 参考解析:栈顶元素总是后 ...

  9. 安全L1-网络基础知识-基础篇01

    一.OSI参考模型 1.通信概述 网络是用物理链路将各个孤立的工作站或主机相连一起,组成数据链路,从而达到资源共享和通信的目的.   通信是人与人之间通过某种媒体进行的信息交流与传递.   网络通信是 ...

最新文章

  1. Centos中基于IP,域名,端口的虚拟主机搭建图文教程
  2. python中isleap_Python学习笔记(十三)系统
  3. html如何左侧固定div,详解左右宽度固定中间自适应html布局解决方案
  4. java虚拟机编码格式_Java虚拟机(JVM)默认字符集详解
  5. python结构体字节对齐_Python及字节对齐的问题
  6. spark成长之路(1)spark究竟是什么?
  7. Java异常处理之------Java方法中throws Exception使用案例!什么情况下使用throws Exception?...
  8. php 跨域提交,php实现跨域提交form表单的方法
  9. linux mint 检测网卡驱动,使用linux mint 安装无线网卡驱动
  10. 从cocos2d-x到unity看游戏研发、设计中一些要点
  11. UE4 实现C++蓝图接口
  12. 扫地机器人朋友圈文案_扫地机器人的简单文案
  13. eclipse打不开,提示出现“eclipse发生了错误,请参阅日志文件”
  14. Topaz DeNoise AI for Mac(AI智能图像降噪工具)
  15. 取消Chrome表单文本框自动填充黄色背景色样式
  16. 天然“降脂药”,帮你“吃掉”血脂!
  17. 微软认证系统管理员MCSA(院校IT课程)
  18. 高科技恢复展示模式-VR安全教育|广州华锐互动
  19. 浮华的世态,只会将一颗心,涂染得色彩缤纷,失去往日纯净的姿态
  20. Spring MVC 学习总结(五)——校验与文件上传 转自 张果 博客;已经编程校验;正确无误;...

热门文章

  1. 城市大脑全球标准研究2:如何理解和定义城市大脑?
  2. 从技术角度探讨:深度传感器行业有哪些发展机会
  3. 脑机接口技术重大突破!首次帮助瘫痪男子恢复运动和触觉
  4. Science揭示:身体如何应对细菌的“群体感应”
  5. 3位物理学家获基础物理学特别突破奖
  6. 腾讯帝国的野蛮生长史
  7. 无人驾驶急需解决:规划控制和传感器价格高两大问题
  8. 《人类简史》作者:应对 AI 革命,要打造新的经济、社会和教育体系
  9. 停电后程序员怎么写代码 | 每日趣闻
  10. 初学编程的小白 | 每日趣闻