js的发展历史
现行浏览器主流采用的脚本语言。
和ECMAScript的关系:ECMAScript是一种语言标准,js则是对ECMAScript的一种实现
js组成部分:ECMAScript(核心),dom(文档对象模型),bom(浏览器对象模型)
js的数据类型
var,num,未定义undefined
查看类型:typeof
数组array
字面量方式创建(推荐大家使用这种方式,简单粗暴)
var colors = [‘red’,‘green’,‘yellow’];
使用构造函数(后面会讲)的方式创建 使用new关键词对构造函数进行创建对象,构造函数与后面的面向对象有关系
var colors = new Array();
//通过下标进行赋值
colors[0] = ‘red’;
colors[1] = ‘green’;
colors[2] = ‘yellow’;
console.log(colors);
循环
for:在已知初始和结束条件时常用;
while;
作用域和全局污染问题
假如引入js的时候
A.js和B.js有相同函数名,会出现全局污染问题
可通过自执行函数解决:
外部js A:
(function(){
var A = function(){
return ‘xxx’
}
window.a = A
})()
引用外部:
a()
js对象
var person = {
name:‘romy’,
sex:1,
favo:function(){
alert(‘music’)
return ‘music’
}
}
内置对象array
.tostring()
判断是否是array类型:Array.isArray(obj)
.join(’ ') :将数组用参数分割城一个字符串
数组排序
.reverse()
.sort() **乱序
map
var pArray = [{name:‘li’,sex:‘male’,age:12},{name:‘susan’,sex:‘female’,age:21}]
var obj = pArray.map(function(item,index){return item.name})
alert(obj)
输出:
li,susan
window对象讲解
全局对象都会挂载在window对象上面
入口函数
.onload
- window.onload: 的是等页面文档、外部的js文件、css文件、图片加载完毕才执行内部代码。
BOM对象
浏览器对象
window对象
alert 弹出框
confirm 弹出框,带返回boolean值
prompt 弹出框,带输入框,返回值
定时器
setTimeout(function(){},time) 延时操作
setInterval(function(){},time) 周期性执行操作
clearInterval 清除定时器
location对象
href:跳转
hash 返回url中#后面的内容,包含#
host 主机名,包括端口
hostname 主机名
pathname url中的路径部分
protocol 协议 一般是http、https
search 查询字符串
replace:跳转(不产生历史记录)
DOM
Document Object Model 文档对象模型
dom中的节点分类
- 元素节点(element node)
ul>li - 文本节点(text node)
- 属性节点(attribue node)
获取元素节点的方式
document.getElementById(id)
document.getElementByTagName(TagName)
Jquery
是一个快速,小巧,功能丰富的JavaScript库
入口函数
$(function(){
})