强哥JavaScript学习笔记

js文件放header头最后,js代码放body体最后

js语言定位:
js是基于对象的语言
php、java是面向对象的语言

定义变量:
var str="hello world"

js变量作用域:
1.函数外面定义的变量不管带不带var全部都是全局变量
2.函数里面定义的变量,带var的是局部变量,不带var的是全局变量

js变量类型:

js基础对象:
1.window //窗口对象
2.document //文档对象
3.document.documentElement //html对象
4.document.body //body对象
5.document.head //head对象

js特效:
1.通过js把标签转成元素对象
2.js操作标签样式
3.js操作标签事件

js变量类型:
1.字符串
2.整形
3.浮点
4.布尔
5.数组
6.对象
7.json对象
8.NaN //不是一个数字
9.null
10.undefined

测试变量类型
typeof();

Global对象方法:
parseInt(string, radix)
parseFloat(string)
typeof(Object)
eval(string)
isNaN(testValue)
String(Object)
Number(Object)
Array()
Object()
Bool()
转布尔类型后哪些为假:
0
false
""
null
undefined
NaN

转布尔类型方法:
1.Boolean(num)
2.!!num

js运算符
1.+ 字符串连接符
2. new 创建新对象用的
3.this 本对象
4.in 检查某一个属性是否是这个对象里面的
5.instanceof 检查某个对象是否是由某个构造函数产生的
6.delete 不能删除用var定义的变量,其他都可以用delete删除

js语法:
if;...else
for
while
switch...case
with
for...in

js弹窗
1.alert() //警告
2.confirm() //确认
3.prompt() //提醒

js内置对象
1.数学
2.日期
3.定时器
4.超时器
5.字符串
6.数组

数学对象:
Math.PI
Math.ceil()
Math.random()
Math.max()
Math.min()

日期对象:
var dd=new Date();
alert(dd.getFullYear()); //年
alert(dd.getMonth()+1); //月
alert(dd.getDate()); //日
alert(dd.getHours()); //时
alert(dd.getMinutes()); //分
alert(dd.getSeconds()); //秒

定时器:
setInterval();
clearInterval();

超时器:
setTimeout();
clearTimeout();

字符串函数:
属性:
length
方法:
indexOf() //返回 String 对象内第一次出现子字符串的字符位置
lastIndexOf() //最后一次出现的位置
substr(3) //从位置3开始截取
slice(0,3) //截取0-3
split() //将一个字符串分割为子字符串,然后将结果作为字符串数组返回。支持正则
search() //返回与正则表达式查找内容匹配的第一个子字符串的位置
match()
replace()

js数组对象
属性:
arr.length()
方法:
pop() //弹出数组最后一个元素
push() //从最后添加一个元素
shift() //从开头删除一个元素
unshift() //从开头添加一个元素
slice() //从数组中截取一部分元素
concat() //连接多个数组
reverse() // 翻转数组元素
sort() //数组元素排序
splice() //删除并替换数组元素

js Dom对象
1.windows
2.document
3.document.head
4.document.body
5.document.title
6.document.documentElement

获取元素对象
1.document.getElementById()
2.document.getElementsByTagName()
3.document.getElementsByClassName();
获取页面上所有元素对象
document.getElementsByTagName('*');

document.all; //仅IE支持

总结元素对象常用方法:
obj.innerHTML
obj.outerHTML
obj.length
obj.outerHTML
obj.innerText //即将淘汰
obj.textContent
obj.tagName

测试一些高度
obj.clientHeight; //本身的高
obj.offsetHeight; //包含边框的高

document.body.clientHeight; //文档的高 屏幕的文档区域的高
document.documentElement.clientWidth;
document.documentElement.clientHeight; //有效的高 屏幕可视的高
document.documentElement.scrollHeight; //屏幕的总高度
document.documentElement.scrollTop; //滚动的高 滚动的高度

document.documentElement.scrollTop //已经滚动了的高度,chrome不支持,其他支持
document.body.scrollTop; //已经滚动了的高度,仅chrome支持

js对象:
1.obj=new Object()
2.obj=document.getElementById()
3.obj={"name","user1"}

阻止默认行为:
event.preventDefault();
或者
return false;

1.<a href="inde.php" onclick="return false;">超链接</a>
2.aobj.onclick=function(event){
//event.preventDefault();
return false;
}
默认行为:a标签提交或者表单submit提交


js事件
onabort 图像加载被中断
onblur 元素失去焦点
onchange 用户改变域的内容
onclick 鼠标点击某个对象
ondblclick 鼠标双击某个对象
onerror 当加载文档或图像时发生某个错误
onfocus 元素获得焦点
onkeydown 某个键盘的键被按下
onkeypress 某个键盘的键被按下或按住
onkeyup 某个键盘的键被松开
onload 某个页面或图像被完成加载
onmousedown 某个鼠标按键被按下
onmousemove 鼠标被移动
onmouseout 鼠标从某元素移开
onmouseover 鼠标被移到某元素之上
onmouseup 某个鼠标按键被松开
onreset 重置按钮被点击
onresize 窗口或框架被调整尺寸
onselect 文本被选定
onsubmit 提交按钮被点击
onunload 用户退出页面
oncontextmenu 右键上下文菜单

js事件方法:
select();
focus();


getAttribute(); //获取属性的值
setAttribute(); //设置属性的值

js BOM浏览器对象
1.window对象
2.navigator对象
3.screen对象
4.history对象
5.location对象
6.document对象

window对象
属性:
frames //窗口数组
length //frame个数
name //窗口名字 target="win2"
opener //打开我的那个窗口
parent //父窗口
top //顶级窗口
closed //测试某个窗口是否被关闭

方法:
open("right.html","win2","特性")
窗口特性:
fullScreen=1|0 //是否全屏
width="" //窗口宽
height="" //窗口高
left="" //离屏幕左上角的left
top="" //离屏幕左上角的top
location=1|0 //是否有地址栏
menubar=1|0 //是否有菜单

alert()
confirm()
prompt()
setInterval()
clearInterval()
setTimeout()
clearTimeout()
close() //ie没问题,ff有问题,ff子窗口
moveTo() //ie没问题,ff有问题,ff子窗口
moveBy() //ie没问题,ff有问题,ff子窗口
resizeTo() //ie没问题,ff有问题,ff子窗口
resizeBy() //ie没问题,ff有问题,ff子窗口
scrollTo() //都支持,做一些滚动条有关的特效
scrollBy() //都支持,做一些滚动条有关的特效
navigator对象:
属性:
userAgent //更精确的版本

screen屏幕对象:
属性:
height
width

availHeight //有效高
availWidth; //有效宽

history历史对象:
属性:
length //返回历史个数
方法:
back() //后退一个历史go(-1)
forward() //前进一个历史go(1)
go(2) //前进两个历史
go(-2) //后退两个历史

location对象:
属性:
hash //获取url里的锚点
#abc
host //主机名
href //地址跳转,保留历史,也可以不写href直接写location="index.html"
pathname //index.html页面的名称
port //端口:80
portocol //协议 http:
search //参数 ?id=10&name=user1
方法:
reload() //加载当前页面,刷新当前页面
replace() //加载当前页面,还可以跳转,但是不留历史

文档内常用集合:
1.forms
2.elements
3.options
4.rows
5.cells
6.images
7.links
8.anchors //锚点
9.frames

Ajax无刷新技术:
1.找到Ajax对象xmlHttpRequest (xhr)
FF:
xmlhttp=new XMLHttpRequest();
IE:
xmlhttp=new ActiveXobject("Microsoft.XMLHTTP");

2.Ajax属性
xhr.responseText;
3.Ajax get方法
xhr.open("get","index.php",true);
xhr.send();
4.Ajax post方法:
xhr.open("post","index.php",true)
xhr.send(string) //必须是字符串
4.Ajax事件
xhr.readystatechange=function(){}


1. js DOM document object model
2.DOM对象集合
3.window.frames
4.document.froms
5.document.elements
6.document.elements[0].options
7.document.images
8.document.links
9.document.anchors
10.tabobj.rows
11.tabobj.rows[0].cells
12.eleobj.innerHTML
13.eleobj.outerHTML
14.eleobj.textContent
15.eleobj.getAttribute()
16.eleobj.setAttribute()
17.document.head
18.document.title
19.document.body
20.document.getElementById()
21.document.getElementsByTagName()
22.document.getElementsByClassName()
23.document.createElement()
23.js ajax XMLHttpRequest对象

posted @ 2017-06-23 14:36  Redheat  阅读(457)  评论(0编辑  收藏  举报