一. Javascript介绍
浏览器(注册界面网页)
填表单
↓
提交按钮
↓
后台(校验)跳转(jsp)
例:
浏览器的厂商有很多,比如:
IE 、 chrome 、 safari 、 firefox
Java
语法 -------------------- sun公司
解释器 jdk ------------ sun公司
Javascript
-
网景公司研究出script----------- firefox
解释器
语法 -
IE -----------------script
解释器
语法
…
例如:需要建一个网易严选网页,需要js脚本 校验登录页面,需要支持多个浏览器,就需要一个标准
于是,产生了ECMA标准
2. Javascript组成
-
ECMAScript5(javascript语法标准)
-
js标准语法
注释
变量
操作符
操作数
表达式
语句
数组
函数
对象
…
var a = 10;
【lodash.js】
-
-
DOM (document object model)
-
js操作html
文档浏览器
var dom = document.getElementById("");
dom.onclick = function(){}
dom.addEventListener(function(){})
【jQuery】 ie低版本 ie+
-
-
BOM (browser object model)
-
js操作浏览器
alert();
setInterval()
setTimeout()
getClientX
window.history
…
-
3. js解释器
-
在所有的主流浏览器中都具备js解释器
js -> 浏览器(客户端) -
google chrome
google v8引擎(js解释器)-> nodeJS
nodejs -> linux,unix,windows,macos
js不仅仅可以运行在浏览器端,还可以运行在服务器端js运行在浏览器端:动画,表单验证,ajax数据交互…
js运行在服务器端:js转换,代码编译,操作数据库,流,网络,iot
4. js学习方式
ECMAScript
所有浏览器,所有的js解释器(nodejs)
linux(ubuntu16.04) + nodejs
js语言特性
-
解释性语言
js -> nodejs
编写代码 vim
执行行吗 nodejs -
编译型语言
java - .class -> jdk -> linux
c - .out -> linux
5. hello world
-
创建一个文件
hello.js -
编写文件
function sayHello(){
console.log(“hello world”);
}
sayHello(); -
执行代码
$ node hello.jsconsole.log(a,b,c);
将a,b,c变量的内容打印到控制台中
6. 变量
强类型
变量的数据类型取决于变量的声明
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”
}
基本数据类型的值保存在栈区;
引用数据类型的引用地址保存在栈区,内容保存在堆区。