一、基础

字符集

JavaScript程序是用Unicode字符集编写的。

.区分大小写

.空格、换行符和格式控制符

.Unicode转义序列

.标准化

二、类型、值和变量

JavaScript的数据类型分为两类: 原始类型和对象类型,其中原始类型包括数字,布尔值和字符串。

JavaScript(以下简称为JS)有两个特殊类型的值,null(空值)和undefined(未定义)。

1、数字

和其他编程语言不同,JS不区分整数值和浮点数值。JS中的所有数字均用浮点数值表示。最大值是±1.7976931348623157乘以10的308次方(打不出来),最小值是±5乘以10的负324次方(同样打不出来)。

当一个数字直接出现在JS中,我们称之为数字直接量,JS支持多种格式的数字直接量。

Attention: 在任何数字直接量前添加(-)可以得到他们的负值,但负号是一元求反运算符,并不是数字直接量语法的组成部分

1.1 整型直接量

在JS中,用一个数字序列表示一个十进制整数。

除了十进制的整型直接量,JS同样也能识别十六进制值

1.2 浮点型直接量

浮点型直接量可以含有小数点,它们采用的是是传统的实数写法。一个实数由整数部分,小数点和小树部分组成

还可以用指数计数法表示浮点型直接量,即在实数后跟字母e或者E,后面再跟正负号,其后再加一个整型的指数。

1.3 JS中的算术运算

JS程序是使用语言本身提供的算术运算符来进行数字运算的,这些运算符包括加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)和求余(求整除后的余数)运算符(%).

除基本的运算符外,JS还支持更加复杂的算术运算,这些复杂运算通过作为Math对象的属性定义的函数和常量来实现:

参考Math()方法

Math.pow(2,53)
//9007199254740992;2的53次幂
Math.round(.6)
//1;四舍五入

JS中的算术运算在溢出(overflow),下溢(underflow)或被零整除时不会报错。当数字运算结果超过了JS所能表达的数字上限(溢出),结果为一个特殊的无穷大值,在JS中以Infinity表示。同样的,当负数的值超过了JS所能表示的负数范围,结果为负无穷大,在JS中以-Infinity表示。

1.4 二进制浮点数和四舍五入错误

实数有无数个,但是JS通过浮点数的形式只能表示其中有限的个数, 当在JS中使用实数的时候,常常只是真实值的一个近似表示。

JS采用了IEEE-754浮点数表示法。

1.5 日期和时间

JS语言核心包括Date()构造函数,用来创建表示日期和时间的对象,

var then = new Date(2011,0,1)
console.log(then)
var later = new Date(2011,0,1,17,10,30)
console.log(later)
var noe = new Date();
console.log(later.getFullYear());
console.log(later.getMonth());
console.log(later.getDate());
console.log(later.getDay());
console.log(later.getHours());
console.log(later.getUTCHours()) /*
Sat Jan 01 2011 00:00:00 GMT+0800 (中国标准时间) 2011年1月1日
Sat Jan 01 2011 17:10:30 GMT+0800 (中国标准时间)  2011年1月1日 当地时间17点10分30秒
2011 2获取到年份  
0    从0开始的月份
1    从1开始的天数
6    得到星期几,0代表周日,5代表周日
17    当地时间17点(获取到小时数)
9    使用UCT表示小时的时间,基于时区
*/ 

2、文本

字符串是一组由16位组成的不可变的有序序列,每个字符通常来自于Unicode的字符集。JS通过字符串类型来表示文本,字符串的长度是其所含16位值得个数,JS字符串(和其数组)的索引从零开始。

2.1 字符串直接量

JS中的字符串直接量室友单双引号括起来的是字符系列

2.2 转义字符

(\)为转义字符,

2.3 字符串的使用

JS的内置功能之一就是字符串连接。(+)用于字符直接的拼接。

确定字符串的长度可以使用length属性。

在JS中,字符串是固定不变的。

2.4 模式匹配

  JS定义了RegExp()构造函数,用来创建表示文本匹配模式的对象。这些模式称为"正则表达式"。

3、布尔值

布尔值是指代真或假,只有true和false。

所有对象(数组)都会转换成true。

false和undefined、null、0、-0、NAN、""//空字符串可以转换为false的值有时称作“假值”,其他值称作为“真值”

4、null和undefined

null是JS的关键字,表示一个特殊值,常用来描述“空值”。typeof(null) => 'object' 可以将null认为是一个特殊的对象值,含义是'非对象'。但是实际上,通常认为null是自有类型的唯一一个成员。可以表示数字,字符串和对象是无值的。

JS还有第二个值表示值的空缺,即为undefined。用来定义更深层次的“空值”。

javaScript基础-01 javascript语法结构的更多相关文章

  1. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  2. javaScript系列 [01]-javaScript函数基础

    [01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...

  3. JavaScript基础概念与语法

    学习了一些最基础的JavaScript语法: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  4. JavaScript基础知识----基本语法

    JavaScript 语句 JavaScript 语句向浏览器发出的命令.语句的作用是告诉浏览器该做什么. 分号 ; 分号用于分隔 JavaScript 语句. 通常我们在每条可执行的语句结尾添加分号 ...

  5. Oracle数据库 中的基础的一些语法结构

    方括号里的内容为可选项 大括号是必填 1PL/SQL结构块 DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ BEGIN /* * 执行部分——PL/SQ ...

  6. JavaScript基础-01

    1. Javascript是一门动态的.弱类型的.解释型的脚本语言 动态:数据类型在运行时决定 弱类型:变量数据的类型不是确定的,可以随意的进行改变: 解释型:相对编译型来说,编译型计算机在执行之前需 ...

  7. JavaScript基础(一)之语法、变量、数据类型

    1.JavaScript语法 ①区分大小写 ②弱类型变量 ③每行结尾分号可有可无 ④括号用于代码块 ⑤注释有两种方式(单行和多行注释) 2.JavaScrip变量 ①用Var声明,不要初始化 ②可以在 ...

  8. 容易混淆的JavaScript基础知识之语法部分

    type 属性: 默认的 type 就是 javascript, 所以不必显式指定 type 为 javascript javascript 不强制在每个语句结尾加 “:” , javascript ...

  9. JavaScript基础——使用JavaScript对象

    JavaScript有许多内置对象,如Number(数字).Array(数组).String(字符串).Date(日期)和Math(数学).这些内置对象都有成员属性和方法.除了JavaScript对象 ...

随机推荐

  1. [Noi2002]Savage 题解

    [Noi2002]Savage 时间限制: 5 Sec  内存限制: 64 MB 题目描述 输入 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci ...

  2. ~~函数基础(一):函数&参数~~

    进击のpython 函数基础(一):参数 ==说明一点奥,如果你前置文章没有看懂,那么不建议你直接看这个== ==因为看了也是浪费时间,没有意义== 好,接下来就是Python的灵魂部分了--函数 在 ...

  3. 用了三星Dex,我已经快一个月回家没开过电脑了

    其实比较早就知道手机使用显示屏扩展的功能,但是以前的技术可能受性能影响体验还不太好.后来让我期待的是Linux On Dex这个项目知道了手机已经如此强大了,可惜只能是是特定机器,因此在618之际乘着 ...

  4. python函数知识三 函数名的使用、格式化、递归

    12.函数名的使用 函数是第一类对象 函数名可以当做值被赋值给变量 def func(): print(1) return a = func print(func) print(a) a() 函数名可 ...

  5. D:苏卿念发红包

    首先,题目中已经说得很明确了(按照常理也是). 当有mmm个包,你第kkk个抢.k>mk>mk>m的话.显然,平时会显示:来晚了一步,红包已经被领完了\text{来晚了一步,红包已经 ...

  6. 个人永久性免费-Excel催化剂功能第18波-在Excel上也能玩上词云图

    这年头数据可视化日新月异,在Excel上做数据分析,最后一步,难免要搞个图表输出高大上一回,微软也深知此道,在Excel2016上更新了一大波图表功能,市场上很耀眼的词云图还是没加进来,虽然在各大的在 ...

  7. 爬虫的盗亦有道Robots协议

    爬虫的规定 Robots协议 网站开发者对于网络爬虫的规范的公告,你可以不遵守可能存在法律风险,但尽量去遵守 Robots协议:在网页的根目录+robots.txt Robots协议的基本语法: #注 ...

  8. 基于SpringBoot+Redis的Session共享与单点登录

    title: 基于SpringBoot+Redis的Session共享与单点登录 date: 2019-07-23 02:55:52 categories: 架构 author: mrzhou tag ...

  9. 2019牛客多校第二场D-Kth Minimum Clique

    Kth Minimum Clique 题目传送门 解题思路 我们可以从没有点开始,把点一个一个放进去,先把放入一个点的情况都存进按照权值排序的优先队列,每次在新出队的集合里增加一个新的点,为了避免重复 ...

  10. 2019牛客多校第一场 E-ABBA(dp)

    ABBA 题目传送门 解题思路 用dp[i][j]来表示前i+j个字符中,有i个A和j个B的合法情况个数.我们可以让前n个A作为AB的A,因为如果我们用后面的A作为AB的A,我们一定也可以让前面的A对 ...