首页
登录 | 注册

javaScript基础-01 javascript语法结构

一、基础

字符集

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。用来定义更深层次的“空值”。

 


相关文章

  • 如何零基础开始自学Python编程
    转载——原作者:赛门喵 链接:https://www.zhihu.com/question/29138020/answer/141170242 0. 明确目标 我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个 ...
  • MongoDB【快速入门】
    1.MongDB 简介 MongoDB(来自于英文单词"Humongous",中文含义为"庞大")是可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.作为一个适用于敏捷开发的数据库,Mo ...
  • 补习系列(20)-大话 WebSocket 与 "尬聊"的实现
    目录 一.聊聊 WebSocket 二.Stomp 是个什么鬼 三.SpringBoot 整合 WebSocket A. 引入依赖 B. WebSocket 配置 C. 控制器 D. 前端实现 四.参考文档 一.聊聊 WebSocket 从 ...
  • 汝之蜜糖,吾之砒霜——聊聊软件开发中的最佳实践
        "描述一个事物,唯有一个名词定义它的概念,唯有一个动词揭露它的行为,唯有一个形容词表现它的特征.要做的,就是用心去寻找那个名词.那个动词.那个形容词--" -- 福楼拜 (Gustave Flaubert)   ...
  • 1.什么是跨越? 一个网页向另一个不同域名/不同协议/不同端口的网页请求资源,这就是跨域. 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名. 2.为什么会产生跨域请求? 因为浏览器使用了同源策略 3.什么是同源策 ...
  • foreach绑定对于数组中的每一个元素复制一节标记语言,也就是html,并且将这节标记语言和数组里面的每一个元素绑定.当我们呈现一组list数据,或者一个表格的时候,十分有用. 如果你绑定的数组是一个"监控数组" ,o ...

2019 cecdns.com webmaster#cecdns.com
12 q. 0.081 s.
京ICP备10005923号