一.JavaScript的特点
1.脚本语言和编译型语言的区别
- 脚本语言:程序不需要编译,运行时才翻译成机器语言,每执行一次。所以,其效率低。
- 程序在执行之前需要一个专门的编译过程,吧程序编译成机器语言的文件,运行时不需要重新翻译,直接使用编译结果就行了。如C、C++语言
2. JavaScript是一种弱类型语言,
弱类型语言:其变量在使用之前无需声明,由解释器在运行时检查其数据类型。
二.JavaScript入门
1.插入js代码的三种方式
- 在元素中嵌套
<a href="javascript:alert(123);">百度</a>
- 放在script标签中
<script>
alert("网页加载完毕");
</script>
- 创建外部js文件
<script src="test.js" type="text/javascript"></script>
引用外部文件,不能再标签中间写内容。
2.js执行
js的执行流程是从上到下的,而且是阻塞式的执行方式。
3.定义变量
var number =1;
定义变量使用var,计算机会根据内容自动判断数据类型以及内存分配的大小。
三.JavaScript语法
和Java类似。
四.数据类型
1.基本类型
- number
- boolean
- string
- undefined
- null
在Js里面,页面加载的过程中会先将基础数据类型和引用类型加载内存。不会复制,执行到初始化代码才会赋值
2.引用类型
- 原生对象
js提供的,独立于宿主环境的对象:Object、Function、Array、String、Boolean、Number、Date、JSON……
Boolean:0,null,空字符串默认为false。其他都是true。
Array:数组在创建的时候传递一个值表示空间大小:var arr = new Array(5);
Date:求时间。
JSON:在js里面json表示一个对象,这个对象是非常小的一个。用于存储数据,轻量化对象。 - 内置对象
Math:数学运算,可以直接使用。
Global:无法直接访问,提供了一些方法和属性。将所有全局的方法收集在一个对象中,直接访问对象的属性和方法。
encodeURI(中文):对中文进行转码.
decodeURI():解码.
parseInt():字符串-》整型
parseFloat():字符串-》浮点型
eval(),将一个字符串转换为JS - 宿主对象:所有DOM和BOM都是宿主对象。
五.数据类型转换
- 任何数据类型和String相加都是字符串。
- 自动转换数据类型:除了加以外,数据操作自动转换。
- NaN:表示非数字。
六.运算符
- ==
用来比较左右两边变量的值,不会考虑数据类型
2.===
数据类型和值必须一样才会返回true。
七.函数
function add(num){
}
1. 命名函数
- 不需要规定形参的数据类型,数据类型会根据传递进来的值来自动确定。
- 需要返回就直接return,不需要返回就去掉return。
2. 匿名函数
var t = function(){
console.info("sdfdsf");
}
t();
没有名字的函数,表示对当前操作绑定一个唯一的行为。
function find(){
return function(){
console.info("内部函数执行的内容");
}
}
3.回调函数·
a,b两个函数,a函数作为参数传递到b函数,并且被调用。把a函数称为回调函数。