JavaScript一种直译式脚本语言,一种基于对象和事件驱动并具备安全性的客户端脚本语言;
也是一种普遍应用客户端web开发的脚本语言。
简单地说,JavaScript是一种运行在浏览器中的解释型的编程语言。javascript
<script type="text/javascript"> JS语句; </script>
<button onclick="alert('欢迎进入JavaScript世界')">点击me</button>
<script type="text/javascript"> JS语句; </script>
<script language="JScript" src="JS文件路径"></script>
变量:是用于存储信息的"容器",是命名的内存空间,可使用变量名称找到该内存空间;
JavaScript 的变量是松散类型(弱类型)的,就是用来保存任何类型的数据。
在定义变量的时候不须要指定变量的数据类型。vue
JavaScript 定义变量有四种方法:const、let、var,还有一种是直接赋值,好比a = " a"(不规范,不推荐使用)var
定义的变量能够修改,若是不初始化会输出undefined,不会报错。let
let是块级做用域,定义的变量只在let 命令所在的代码块内有效,变量须要先声明再使用。const
定义的变量不能够修改,并且必须初始化,const定义的是一个恒定的常量,
声明一个只读的常量或多个,一旦声明,常量值就不能改变。java
在函数外声明的变量做用域是全局的,全局变量在 JavaScript 程序的任何地方均可以访问;
在函数内声明的变量做用域是局部的(函数内),函数内使用 var 声明的变量只能在函数内容访问。web
_
”或者”$
”为开头。其余字符能够是字母、_、美圆符号或数字。255
个字符。String
:字符串类型。用""和''包裹的内容,称为字符串。Number
:数值类型。能够是小数,也能够是正数。boolean
:真假,可选值true/false。Object
:(复杂数据类型)Null
:表示为空的引用。var a = null;Undefined
:未定义,用var声明的变量,没有进行初始化赋值。var a;编程
7 JavaScript对象
JavaScript 对象是拥有属性和方法的数据,是变量的容器。
对象:是封装一个事物的属性和功能的程序结构,是内存中保存多个属性和方法的一块存储空间。
JavaScript中全部事物都是对象:数字、字符串、日期、数组等。
JavaScript对象能够是字面量建立、分配给变量,数组和其余对象的属性、做为参数传递给函数、有属性和做为返回值。数组
function MyFun(){ };
var myFun = function(){ }; myArray.push(function(){ }); myObject.myFun = function(){ };
function myFun(someFunc){ someFunc(); } myFunc(function(){ });
var myFunc = function(){ };
function myFunc(){ return function(){ } }
常见的内置对象有 Global、Math(它们也是本地对象,根据定义每一个内置对象都是本地对象)。浏览器
常见的本地对象有 Object、Function、Data、Array、String、Boolean、Number、RegExp、Error等缓存
使用函数前要先定义才能调用,函数的定义分为三部分:函数名,参数列表,函数体
定义函数的格式:安全
function 函数名([参数1,参数2...]){ 函数执行部分; return 表达式; }
在javascript函数中,函数的参数一共有两种形式:(实际参数与形式参数)
形参:在函数定义时所指定的参数就称之为“函数的形参”。
实参:在函数调用时所指定的参数就称之为“函数的实参”。闭包
算术运算符:主要是用来进行JavaScript中的算术操做。(+、-、*、/、%、++、--)
赋值运算符: =
用于给JavaScript 变量赋值,其做用就是把右侧的值赋给左侧的变量。
关系运算符:用于进行比较的运算符。
主要有小于(<)
、大于(>)
、等于(==)
、大于等于(>=)
、小于等于(<=)
、不等(!=)
、恒等(===)
、不恒等(!==)
。
逻辑运算符:逻辑运算符一般用于布尔值的操做,返回结果是一个布尔类型,通常和关系运算符配合使用;
有三个逻辑运算符:逻辑与(AND)
、逻辑或(OR)
、逻辑非(NOT)
。
字符串链接运算符:是用于两个字符串型数据之间的运算符,它的做用是将两个字符串链接起来。
在JavaScript中,可使用+
和+=
运算符对两个字符串进行链接运算。
三目操做符(条件运算符):?
根据不一样的条件,执行不一样的操做/返回不一样的值。
首先设置表达式n(一般是一个变量),随后表达式的值会与结构中的每一个case值做比较;
若是存在匹配则该关联代码块执行;而后使用break来阻止代码自动的向下一个case运行;
default关键词来规定匹配不存在时作的事情。
for 循环:代码块有必定的次数。for 有三个表达式:1 声明循环变量 2 判断循环条件 3 更新循环变量
特色:先判断再执行,与while相同。
while 循环:当指定的条件为true时循环指定的代码块
do/while 循环:同while循环同样。
特色:先执行再判断,即便初始条件不成立,do/while循环至少执行一次。
break:跳出本层循环,继续执行循环后面的语句。
若是循环有多层,则break只能跳出一层。
continue:跳过本次循环剩余的代码,继续执行下一次循环。
对与for循环,continue以后执行的语句,是循环变量更新语句i++;
对于while、do-while循环,continue以后执行的语句,是循环条件判断;
所以,使用这两个循环时,必须将continue放到i++以后使用,不然,continue将跳过i++进入死循环。
一种是程序写的逻辑不对,致使代码执行异常;
一种是执行过程当中,程序可能遇到没法预测的异常状况而报错。
throw 声明
onerror 事件
jQuery 函数是 $() 函数(jQuery 函数)。
jQuery 库包含如下功能:
HTML 元素选取、元素操做、CSS 操做、HTML 事件函数、JavaScript 特效和动画、HTML DOM 遍历和修改、AJAX、Utilities
面向对象编程包括 建立对象、原型继承、class继承。
类是对象的类型模板;实例是根据类建立的对象。
jQuery 优势:
缺点:
其最为核心的特性为:MVC、模块化、自动化双向数据绑定、语义化标签及依赖注入等。
React被称为构建用户接口而提供的Javascript库;主要用来构建UI,其专一于MVC的V部分。
vue.js 是用来构建web应用接口的一个库,技术上,Vue.js 重点集中在MVVM模式的ViewModel层,它链接视图和数据绑定模型经过两种方式。
RequireJs是一个javascript模块加载器,提升网页的加载速度和质量。
Backone是一个帮助开发重量级Javascript应用的框架,但它自己简单的框架。
其文件体积很小,压缩后只有5.3KB,提供了全功能的MVC框架及路由。
Backone强制依赖于Underscore.js,非强制依赖于jQuery/Zepto。
数据可视化和图表是Web应用中不可或缺的一部分。
d3.js就是最流行的可视化库之一,它容许绑定任意数据到DOM,而后将数据驱动转换应用到Document中。
方法中的this指向调用它所在方法的对象。
单独使用this,指向全局对象。
函数中,函数所属者默认绑定到this上。
this使用场合:
-全局环境
闭包是指有权访问另外一个函数做用域中的变量的函数。
建立闭包就是建立了一个不销毁的做用域。
闭包须要了解的几个概念: 做用域链、执行上下文、变量对象。
闭包的好处有:
坏处:
全部浏览器都支持 window 对象。它表示浏览器窗口。
全部 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。
全局函数是 window 对象的方法。
JSON 是一种轻量级的数据交换格式;JSON是独立的语言 ;JSON 易于理解。
语法规则: