特点
1) 不仅能够运行在浏览器,也能够运行在服务器【nodejs 环境】浏览器
动画、事件、表单验证
服务器
操作数据库、网络
mysql
2) 能够加重服务器的压力
能够通过表单验证来束缚用户输出的内容,如果内容格局与表单验证的规定不统一,则不会发送申请
3) 解释型语言
c -> 编译 -> 运行
js -> 运行
所有的支流浏览器都内置了 js 的解析器
4) 弱类型语言
变量的数据类型能够随时的变动
5) 浏览器是从上往下解析 js 代码
1) js 的应用形式
1. 外部援用
<script> </script>
2. 内部援用
<script src=""></script>
2) 变量
0. 正文
单行正文 //
多行正文 /* */
1. 定义
是一个容器,能够寄存任意数据类型的值
2. 申明
应用关键字 var
var a;
关键字
js 中具备特殊作用的变量
保留字
未来有可能成为关键字的变量
留神:1、变量能够是数字、字母、下划线、$ 组成
2、不能是数字、下划线开始
3、不能应用关键字和保留字
4、多个变量申明时能够只写一个 var
var a,b,c;
5、变量的命名应该是驼峰命名法
var userName = '';
var userPassword = '';
3. 初始化
var a; a = 1;
var b; b = [];
变量的申明和初始化同时进行
var a = 1;
3) 数据类型
-
根本数据类型
数字类型 number 整数 var a = 1; 浮点数 var b = 1.2; 非数字 NaN not a number var c = 10/'hello'; // NaN(isNaN 检测以后变量是否是非数字,如果不是数字,则返回 true)console.log(isNaN(c)); // true 字符串类型 string ''或"" var a = ''; // 空字符串 var b = 'hello js'; // hello js 布尔类型 boolean true/false,个别用于条件的判断 var a = true; // true null 空对象 var obj = null; obj = {name:'tom',age:23}; undefined 变量申明未初始化 数据类型的检测,应用 typeof var str = '5'; var bol = true; console.log('str:',typeof(str)); // string console.log('bol:',typeof(bol)); // boolean console.log('null:',typeof(null)); // object console.log('undefined:',typeof(undefined)); // undefined console.log('arr:',typeof([])); // object 能够正确检测除了 null 之外的所有根本数据类型
-
援用数据类型
数组 array var a = []; // 空数组 var b = [1,'1',null,function(){}] 对象 object var a = {}; 函数 function var a = function(){} es6 原始数据类型 6 种,symbol
4) 内存图
根本数据类型保留在栈区,援用数据类型保留在堆区 (援用数据类型在栈区保留的是一个指针)
值传递
var a = 1;
var b = a;
b++;
console.log(a); // 1
援用传递
var c = {age:12};
var d = c;
d.age++;
console.log(c.age); // 13