Javascript介绍
1、 Javascript组成
js标准语法
注释
变量
操作符
操作数
表达式
语句
数组
函数
对象
...
【lodash.js】 是一个一致性、模块化、高性能的 JavaScript 实用工具库。
DOM (document object model)
文档对象模型
js操作html
文档浏览器
var dom = document.getElementById("");
dom.onclick = function(){}
dom.addEventListener(function(){})
【jQuery】 ie低版本 不能使用
jquery是一个快速、小且功能丰富的JavaScript库。它使HTML文档的遍历和操作、事件处理、动画和Ajax等操作变得更加简单,它使用了一个易于使用的API,可以跨多种浏览器工作。结合了多功能性和可扩展性,jquery改变了数百万人编写JavaScript的方式。
BOM (browser object model)
浏览器对象模型
js操作浏览器
alert();
setInterval()
setTimeout()
getClientX
window.history
...
2、js解释器
- 在所有的主流浏览器中都具备js解释器
js -> 浏览器(客户端)
- google chrome
google v8引擎(js解释器)-> nodeJS
nodejs -> linux,unix,windows,macos
js不仅仅可以运行在浏览器端,还可以运行在服务器端
js运行在浏览器端:动画,表单验证,ajax数据交互...
js运行在服务器端:js转换,代码编译,操作数据库,流,网络,iot
3、js学习方式
ECMAScript (JavaScript的一个标准)
所有浏览器,所有的js解释器(nodejs)
linux(ubuntu16.04) + nodejs
js语言特性
解释性语言
js -> nodejs
编写代码 vim
执行行吗 nodejs
编译型语言
java - .class -> jdk -> linux
c - .out -> linux
4、 hello world
1) 创建一个文件
hello.js
2) 编写文件
function sayHello(){
console.log("hello world");
}
sayHello();
3) 执行代码
$ node hello.js
console.log(a,b,c);
将a,b,c变量的内容打印到控制台中
5、变量
强类型
变量的数据类型取决于变量的声明
int a = 3;
a是个整数类型,由于int a ;
a = true;
以上表达式不允许,因为a是一个整数类型,不能赋值为布尔类型
弱类型
变量的数据类型取决于值的类
var a ; // 变量的声明
a = 3 ; // 变量的初始化
=>
var a = 3; //变量的声明与初始化一起
a是个数字类型,由于a = 3;
a = true;
a变成类布尔类型
变量声明
var a;
var str;
变量初始化
a = true;
str = 1;
str = "1";
变量的使用
a + 1 ;
变量类型
基本数据类型
数字类型 number
var a = 3;
var a = 3.0;
var a = 011;
var a = 0x11;
...
字符串类型 string
var str = "hello world";
var str = 'hello';
var str = '{"name":"terry"}'
布尔类型 boolean
var b = true;
var b = false;
null object
一般表示空对象
var a = null;
undefined
var a; // undefined
var a = undefined; //undefined
检测数据类型
var a = 3;
typeof a
isNaN(result)
3/"a"
如果result是NaN,那么这个函数返回true
isFinite(result)
如果result是一个有穷数,返回true
3/0 => inFinite 无穷数
引用数据类型
数组
var arr = [1,2,3,4,5,6];
var names = ["terry","larry","tom"]
函数
function sayHello(){
console.log();
}
对象
var p = {
name:"terry",
age:21,
gf:null
}
正则表达式
基本数据类型与引用数据类型在内存中的表示
基本
var a = "terry";
引用
var b = {
name:"terry",
age:12,
gender:"male"
}
基本数据类型的值保存在栈区;引用数据类型的引用地址保存在栈区,内容保存在堆区