目录
DOM:Document Object Model文档对象模型
BOM:Browser Object Model 浏览器对象模型
如果PreferredType被标记为Number,则会进行下面的操作流程来转换输入的值。
如果PreferredType被标记为String,则会进行下面的操作流程来转换输入的值。
**JavaScript (** **JS** ) 是一种具有[函数优先]的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web 页面的脚本语言而出名的,但是它也被用到了很多[非浏览器环境]。JavaScript 是一种[基于原型编程] 多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
.JavaScript的组成部分
- ECMAScript,描述了该语言的语法和基本对象。
- 文档对象模型(DOM),描述处理网页内容的方法和接口。
- 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
DOM:Document Object Model文档对象模型
js操作html的api
是针对XML但经过扩展用于HTML的应用程序编程接口。DOM将整个页面映射成一个多节点结构。
BOM:Browser Object Model 浏览器对象模型
js操作浏览器的api
开发人员可以使用BOM控制浏览器显示的页面以外的部分。
JS特点:
- 解释型语言
- 弱类型语言
- 顺序解释执行 按照解析顺序从上往下顺序解析执行
- 既可以作为前端脚本语言,也可以作为后端语言,取决于应用平台(浏览器/操作系统)和使用的框架(dom、jquery/http、mysql、file)
Javascript 书写位置
JavaScript基本数据类型:
1.基本数据类型/简单数据类型: 字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
2.引用数据类型/复杂数据类型: 对象(Object)、数组(Array)、函数(Function)。
标识符命名规则
1.由字母数字下划线以及$组成
2.不能由数字开头
3.使用驼峰式命名 firstName lastName
4.不能使用关键字或者保留字
变量
var let const
1.var声明的变量可以重复声明
2.var声明的变量可以变量提升
3.var声明的变量不存在块级作用域
var
- 变量可以重复声明
- 变量声明会被提升 (函数的声明也会)
- var声明的变量的作用域
案例1:
案例2:
案例3 :
案例4:
案例5
深拷贝与浅拷贝
深拷贝(值传递)/浅拷贝(引用传递)
1.值得复制拷贝--深拷贝
var a=1;
b=a;
a=2;
2.引用地址得传递---浅拷贝
var obj={
name:"zhangsan"
}
obj1=obj;//指针 引用地址 1001
如何实现深拷贝?*****
- 通过json对象实现深拷贝(JSON.stringify,JSO