JavaScript之ECMAScript
JavaScript = ECMAScript + BOM + DOM
JavaScript脚本语言, 运行在浏览器上,无需编译, 轻量级的语言。
功能:让页面有执行逻辑的功能, 可以产生一些动态的效果
ECMAScript:
JS和HTML的结合方式:
内部JS样式:通过script标签引入JS代码

可以存在任意位置,html加载的顺序是自上而下, 所以js定义的位置不同, 执行的顺序也会不同.
外部JS样式:通过script标签的src属性引入


如果一个script标签引入了外部的js文件, 就不要在标签内部定义js代码.
引入外部js时, 标签不要使用自闭合标签
注释
- 单行注释://注释内容
- 多行注释:/注释内容/
数据类型(原始):
number:
数字。 整数/小数/NaN(not a number 一个不是数字的数字类型)
string:
字符串。 字符串 "abc" "a" 'abc'没有字符这个概念,只有字符串
boolean:
true和false
null:
一个对象为空的占位符(老bug)
undefined:
未定义,如果一个变量没有给初始化值,则会被默认赋值为undefined


null的类型是Object是个bug,现在被认为是对象的占位符,其实它仍然是原始值
数据类型(引用):
变量(弱类型):
var 变量名 = 初始值;
在js中, 变量的类型和变量中存储的数据相关, 和声明无关.
运算符:
一元运算符:只有一个运算数的运算符
++,-- , +(正号)
在JS中,如果运算数不是运算符所要求的类型,那么js引擎会自动的将运算数进行类型转换
string转number:按照字面值转换。如果字面值不是数字,则转为NaN(不是数字的数字)


boolean转number:true转为1,false转为0


算数运算符
- / %
赋值运算符
= += -+
比较运算符
< >= <= == ===(全等于)
类型相同:直接比较
字符串:按照字典顺序比较。按位逐一比较,直到得出大小为止。
类型不同:先进行类型转换,再比较
===:全等于。在比较之前,先判断类型,如果类型不一样,则直接返回false
逻辑运算符
&& || !
其他类型转boolean:
number->boolean,0 = false,其他=true。
string->boolean,除了空字符串其他都是true。
对象->boolean,所有的对象都是true。
null, undefined,NaN, 0, ""->boolean这些值为false


三元运算符
? : 表达式
var a = 3;
var b = 4;
var c = a > b ? 1:0;
语法:表达式? 值1:值2;
判断表达式的值,如果是true则取值1,如果是false则取值2;
比较运算符:
字符串比较,按照字典顺序(ascii码大小)对应位置字母逐一比较。
逻辑控制语句:
if,for,switc,hwhile
输出到控制台:
console.log("");
对象:JS并不是面向对象的语言, 仅仅支持对象.
Function:函数(方法)对象

特点
- 方法定义是,形参的类型不用写,返回值类型也不写。
- js中函数没有重载, 如果多次定义同名函数, 则会覆盖. 类似于给一个变量多次赋值
- 函数的调用仅和名称有关, 和参数列表无关.arguments,封装所有的实际参数
- 函数既是一个对象, 又代表一段代码块.所以比较特殊, 它既可以传递值, 也可以直接执行.
var fun = function(){//函数体....}
var fun2 = fun;
var xxx = fun2();
Array:数组对象


定义
var arr = [元素列表];
特点:
数组中数据的类型是任意的,可变的.
数组的长度也是可变的
日期对象Date


正则
正则表达式
不是js独有的, 各个语言通用的表达式.用于表示一个指定格式的字符串.
作用:
判断指定字符串是否符合预先设定的格式规则.
[]代表单个字符的取值范围.
\w 代表单词字符, 等价于 [a-zA-Z0-9_]
\d 查找数字,等价于 [0-9_]
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
正则对象
RegExp
创建:
var reg = /正则/;
方法:
test()
如果正则表达式没有指定开始和结束, 代表判断指定字符串中是否包含指定规则的字符串.
所以我们一般推荐添加上字符串开始和结束的标识进行判断
^:开始
$:结束


全局对象Global
url编码:



parseInt():




eval():


JavaScript之ECMAScript的更多相关文章
- Javascript与ECMAScript
我们经常习惯性认为Javascript就是ECMAScript,但其实不是这样的. ECMAScript是一种脚本在语法和语义上的标准. 主要包括:语法.类型.语句.关键字.保留字.操作符.对象. 它 ...
- javascript、ECMAScript、DOM、BOM关系
ECMAScript,正式名称为 ECMA 262 和 ISO/IEC 16262,是宿主环境中脚本语言的国际 Web 标准. ECMAScript 规范定义了一种脚本语言实现应该包含的内容:但是,因 ...
- JavaScript 、ECMAScript、commonJS 发展历史 与标准化发展
本文介绍下JavaScript和 ECMAScript的诞生及发展历史,以及标准化过程. 一.JavaScript诞生 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版. ...
- JavaScript基础 -- ECMAscript
ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)通过ECMA-262标准化的脚本 ...
- JavaScript组成部分——ECMAScript、DOM、BOM、
1.JavaScript组成部分 虽然 JavaScript 和 ECMAScript 通常被人们用来表达相同的含义,但 JavaScript 的含义却比ECMA-262标准中规定的要多得多. 一个完 ...
- Javascript和ECMAScript二三事
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(一) Javascript是一种专为与网页交互而设计的脚本语言,由下列三个不同部分组成: ...
- Javascript组成--ECMAScript,DOM,BOM
ECMAScript 部分 ECMAScript是一个标准,JS只是它的一个实现,其他实现包括ActionScript; “ECMAScript可以为不同种类的宿主环境提供核心的脚本编程能力”,即EC ...
- JavaScript(ECMAScript) with 语句
有同事,爱尝鲜,JavaScript ECMAScript with 语句,找了半天不知道局部变量的出处,原来是with语句搞得鬼. http://www.w3school.com.cn/js/pro ...
- JavaScript:ECMAScript 引用类型
ylbtech-JavaScript:ECMAScript 引用类型 1. 返回顶部 2. ECMAScript 引用类型返回顶部 引用类型通常叫做类(class). 本教程会讨论大量的 ECMASc ...
随机推荐
- [CSP-S模拟测试]:Tree(贪心)
题目描述 给定一颗$n$个点的树,树边带权,试求一个排列$P$,使下式的值最大 $$\sum \limits_{i=1}^{n-1}maxflow(P_i,P_{i+1})$$ 其中$maxflow( ...
- oracle SQL in plsql
刚安装好的oracle和plsql,以oracle11g为例 1.刚安装好后有两个默认的系统账号和初始密码:sys/change_on_install,system/manager 2.如果忘记了或不 ...
- Bootstrap FileInput
fileuploaded 事件 fileuploaded 事件是异步方法,如果在模态框中使用没上传完就释放模态框的内容会无法触发. $fileinput.on("fileuploaded&q ...
- day40—JavaScript多物体运动框架
转行学开发,代码100天——2018-04-25 今天继续学习JavaScript的运动实现——多物体运动框架的介绍及其应用. 首先来看一个简单的例子.如下图,要使图中3个红色盒子实现鼠标移入变宽,移 ...
- 拒绝从入门到放弃_《Python 核心编程 (第二版)》必读目录
目录 目录 关于这本书 必看知识点 最后 关于这本书 <Python 核心编程 (第二版)>是一本 Python 编程的入门书,分为 Python 核心(其实并不核心,应该叫基础) 和 高 ...
- 【大前端攻城狮之路·二】Javascript&QA⼯程师
今天给大家分享的主题的是Javascript&QA⼯程师.看到这个主题,可能有人问:前端开发完就OK了,剩下的丢给测试就行,哪里还需要关心这些?但事实上呢,测试是前端开发非常重要的环节,也是迈 ...
- Vagrant 手册之 box - 创建基础 box
原文地址 有一种特殊的 box 被称为"base box".这些 box 包含 Vagrant 运作所需的最低限度,通常不是对现有的 Vagrant 环境("base b ...
- pycharm常用快捷键 --- keymap==ecplise
F5 进入函数逐行调试 F6 执行完一行代码 F8 执行到下一个断点处 ctrl + d --删除一行代码 ALT + 上/下 箭头 代码上下移动 ALT + 左/右 箭头 左--返回 ...
- JS基础(上)
JS与DOM的关系 浏览器有渲染html代码的功能,把html源码(如div,p标签等)在内存里形成一个DOM对象 文档对象模型DOM(Document Object Model)定义访问和处理HTM ...
- hdu1257最少拦截系统 动态规划(最长递增子序列(LIS))
Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高 ...