JS
💎JavaScript是一种**弱类型**的语言。
- 一个完整的 JavaScript 由以下三个不同的部分组成,它们分别是:
- 核心语法(ECMAScript)
- 浏览器对象模型(BOM)
- 文档对象模型(DOM)
- JavaScript 的使用:
- 外部脚本:
- 内部脚本:
- 内联脚本: <div on* = “”> (禁用)
- 功能:
- 动态改变页面元素
- 页面动态效果(动画)
- 表单验证
- Ajax
- 变量和常量
- var和let第一点不同就是let是块作用域,即其在整个大括号争之内可见。
- 在变量声明之前就访问变量的话,会直接提示ReferenceError,而不像var那样使用默认值undefined。
- ES5用var定义变量(弃用)
- const表示常量
- 数据类型:
- number︰数字类型-------包含了整数和实数,NaN (所谓NaN,英语全称Not a number,表示不是一个数。如果任何一个数和NaN进行操作的话,返回的会是NaN) NaN与任何值都不相等,包括它自己本身!! !
- string:字符串类型
- boolean:布尔类型
- Object:对象,null表示一个空的对象
- undefined:定义了一个变量但是没有被赋值**(重点)**
- function:函数。(重点)
- 判断相等:“===”数据类型和值均相等;“==”只考虑值相等
- 流程控制:for-in 和 for-of
- 函数也是变量类型
//参数 返回值 都没有类型
function add(num1 , num2){
return num1 + num2
}
let ret = add(10,9)
console. log(ret)
//函数是一个数据类型
let add = function(num1,num2){
return num1 + num2
}
let num = add(10,9)
console.log(num)
JSON 对象:
- 内置对象
- Math对象:数学函数对象
- Global对象:全局对象
- BOM对象︰浏览器对象模型 (window可以省略)。
- 属性:
- document(DOM)= HTML
- location.href=" " URL地址栏地址 赋值->页面跳转
- history.go(-1) 历史,正数向前(forward) ,负数向后(back)。
- 方法
- setTimeout("",1000):过指定时间,执行一次指定的代码。
- setInterval("",1000):每过指定时间,执行一次指定的代码。
- var t = setTimeout(); cleanTimeout(t);
- 事件→事件驱动开发 (事件触发函数)
- onload
- 属性:
- DOM对象:文档对象模型 (core DOM | HTMLDOM | XMLDOM)
- document: document.getElement*** 获得需要操作的节点。$("#div")
- element: element对象获得其他element或者操作属性和事件。 node
- attribute: element的属性,可以通过element.attribut()方式调用。
- event: Event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。通常和方法一起使用,是方法的参数。
- 事件驱动思路︰触发对象→触发事件→定义函数→操作对象
- 自定义对象
- 字面式(JSON):
var person = { name : "xxx", age: 21, family: ["xxx", "xx" , "xxxxx"], say: function(){ alert(this.name); } };
JSON字符串区别于JavaScript字面式JSON对象:
JSON是JavaScript Object Notation的简称,中文含义为"JavaScript对象表示法",它是一种数据交换的文本格式,而不是一种编程语言。
JSON是一种轻量级的数据交换格式,它基于ECMAScript (w3c制定的js规范) 的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简滩和清晰的层次结构使得JSON成为理想的数据交换语言。
JSON字符串的key需要加“”,且不say function。