JS学习网站:http://www.w3school.com.cn/b.asp
JavaScript和java的关系,可以类比到雷锋和雷峰塔的关系....
JavaScript是用于浏览器客户端的脚本语言
JS的常见用途:
- HTML的DOM操作(动态节点操作,比如添加、修改、删除节点)
- 给HTML网页增加动态功能,比如动画
- 事件处理:比如监听鼠标点击、鼠标滑动、键盘输入
什么是Node.js:
- Node是JS的运行环境(runtime),是对Google的V8引擎进行了封装
- V8引擎执行JS的速度非常快,性能非常好
Node.js的优势:
- 可以作为后台开发语言
- 单线程,不新增额外线程的情况下,依然可以对任务就行并行处理(采用事件轮询方式)
- 非阻塞I/O、V8虚拟机、事件驱动
JS的书写方式有两种:(行内基本不用)
- 页内JS
在当前文件的script标签中书写
<script type="text/javascript"></script>
- 外部JS
<script src="JS.js"></script>
JS数据类型:
<script type="text/javascript">
//基本数据类型
var age = 20;
var money = 100.09;
var name = 'jack';
name2 = 'rose';
var result = true;
var scorl = null;
// 字符串拼接
var newName = name + name2;
console.log(newName);
//任何类型数据与字符串拼接 结果都是字符串
//从左往右执行
var str1 = 10 + 10 + '10';//结果是2010
var str2 = '10' + 10 + 10;//结果是1010101
console.log(str1, typeof str1); //typeof 是打印真实数据类型
//数组
var array = [];
//往数组添加内容
array.push(312, -9, 'haha', str1);
//数组遍历 i不是元素 而是脚标
for (var i in array) {
var item = array[i];
}
//从数组中删除最后一个数据
array.pop();
//Math库
var numbers = [100, 10, -101];
//取最大值
var max = Math.max.apply(this, numbers);
//指定数据类型
var x = new String;
//在js中任何一个变量都是一个对象
</script>
JS函数:
<script type="text/javascript">
// 加法运算
function sum(num1, num2) {
return num1 + num2;
}
// 如何调用
var result = sum(12, 20);
// 不定输入值
function sums(numbers) {
var result = 0;
for (var i in numbers) {
result += numbers[i];
}
return result;
}
var result1 = sums(1, 2, 3, 4, 5);
// 匿名函数声明
var res = function () {
console.log('我是匿名函数');
}
// 匿名函数可以当参数传入
function fun(block) {
block();
}
fun(res);
// JS中的闭包
function block(param1) {
return function (param2) {
return param2 + param1;
}
}
var temp = block(4);
var temp2 = temp(5);
// JS只有函数才会改变作用域
</script>