深入浅出js
来源:互联网 发布:绝地求生游戏画面优化 编辑:程序博客网 时间:2024/04/30 03:57
1.交互,用户点击之后给出的反应,让浏览器能听取我们的,处理输入数据,相应我们最渴望得到的结果
2.数据,存储数据,呈现数据,找出数据
3.<script>本身为HTML标签,标签内的代码时脚本语言,type 定义时哪一种脚本语言,最好写在<head>里
4.js时解释行语言,代码由浏览器解释
5.alert() prompt()
6.事件由用户触发,最终还是来自浏览器
7.onload()
8.localtion.reload()
9.document.body.clientHeight/clientWidth
10.数据分为变量和常量,常量必须初始化,变量最好初始化
常量命名const 全部大写,总是相同
变量命名 小驼峰,可以以字母,下划线,美元符号开头;第一个字符之后可以接字母数字下划线美元符号 var numDonut
函数命名小驼峰 getDonut
对象命名大驼峰 Donut
标识符和人的名字一样应该具有描述型,一个脚本力的标识符不能相同
11.数据类型 text(string),number,boolean,undefined
12.NaN表示没有找到应为数字的变量值时
13.parseInt parseFloat将文本转换成数字
14.getElementById().value出来的值的类型是string类型
15.setTimeout( ,2000) 2s后执行
setInterval( ,2000) 每隔2s就会执行
clearInterval
16.浏览器关闭时所有变量会被销毁,浏览器失忆症需要cookie
writeCookie("读取cookie时的变量名",变量值,时间); 没有时间的cookie会随浏览器的关闭而关闭
readCookie
绝大多数浏览器用硬盘存储用户cookie
只有在指定的网页里,cookie名称才需要unique.
cookie存储时会依赖他们创建的网页加上间隔,其中包含网页所在的网站信息
不同浏览器不能共享cookie数据,各个浏览器有自己独立的cookie数据库
cookie只适合存储相对较少的文本数据(少于4KB)
不管怎么创建cookie都有时间限制,永久数据还是存在服务器比较好
cookie不能访问用户的硬盘或散布病毒,但可以存储网页上的个人数据
cookieEnabled是js对象navigator提供的,检查cookie支持的特性
cookie属于非安全的存储场所,做好不要把敏感数据存在cookie里
17.onresize()浏览器改变大小时的事件
18.决策 其实就是做出选择 简单if 有条件的运行js代码
同时做很多件事情 复合语句 需要放在花括号里
决策树 if嵌套 我们可以踏上几条路,体验不同故事 火柴人冒险
if(message!=" ") alert(message)
比较值用== =是用来赋值的
只要不是 0 null undefined " " 任何值都会被解读为true
注释// /**/
switch case break default
19.作用域掌控变量的生命周期
局部变量 函数运行时 变量存活,函数结束时它被摧毁
一般情况下都创建局部变量,只有局部变量不能使用的时候才创建全局变量
脚本层次的东西和脚本生命周期一样,能被任何网页内的代码访问,是全局的
20.数组存储方式以键值存储,需要以键访问值,键通常又称为索引
数组中的数据类型可以不相同
二维数组让我们以表格结构存储数据的行和列,访问二维数组必须制定行和列,嵌套循环用来处理二维数组的数据,二维数组每一行的长度最好相同
21.break强制停止循环 continue强制跳过本次循环,进入下一轮循环这两个关键词用来调整循环的控制
return 提供了返回函数数据和控制函数执行流程
22.简化代码 观察自变量 定义自变量
23.引用函数和调用函数区别在后边有没有()
函数引用不是代码本身,而是指向存储代码的位置,效率高
函数应用能像变量般指派函数
回调函数让外来客有个访问脚本的路径
浏览器调用回调函数,回调函数再调用函数,以响应脚本外的事情,
函数字面量时没有名字的函数主体,函数只被调用一次,而不是被你的程序代码调用
.onclick=function(evt){ }
24.function shouIt(theForm){
theForm["code"].value
}
name的用法和getElementById的用法是一样的
25.关键字this代表该元素的对象
26.强大的内置工具---正则表达式
元字符 用于连接字母和数字,创建高度描述性的文本模式
所有正则表达式都用斜线围起来 / /
.匹配任何字符
\s空格 包含空白字符 tab换行符 return
\d匹配任何数字字符
\w 匹配任何字母数字
$模式需为字符串的最后一个字符
^字符串需要以模式起始
{}限定符
*出现0次或者多次
+1次或者多次
?0次或以此
()集合字符或者元字符称为子模式
/^\d/ 字符串起始处需要有一个数字
/cat$/ 字符串需要以cat结尾
/\d\d$/ 字符串结尾处要有两个数字
/\d{5}$/字符串需要以5个数字结尾
/\d{2}|\d{4}$/ 字符串结尾处要有两个数字或四个字符
/d[iu]g/ dig dug两个字符串都匹配模式
正则表达式不是字符串,是对字符串的描述
单纯设计用于匹配字符串 不能用于其他类型的数据上
正则表达式以对象表现于js中
js里的正则表达式由RegExp对象表示
验证数据的关键 test()方法
regex.test(inputField.value)
27.dom 343
nodeValue nodeType childNodes firstChild lastChild
改变节点文本三步骤
移除所有节点 removeChild
创建文本节点 createTextNode
appendChild
节点类型 文本节点text返回3 element返回1
.className
28.对象结合数据和行为
store 和 act
变量是对象的特性 函数称为对象的方法
用点号引用对象成员
我们都在尽量限制数据暴漏的程度,只让真正需要的代码接触数据,这样可以避免数据不小心被其他代码改变
标准的js对象 Array Date String
var invitation = new Invitation{'who','where','when','what'}
function Invitation(who,where,when,what){
this.who = who;//关键词this区分对象属性和一般变量
}
this指出对象所有权 this.date
Math.round((date1-date2)/1000*60*60*24 )
new Date 运算完 toString
getMonth 0--11
getDate 1--31
数组排序 num.sort(function compare(x,y){ return x-y})
每个对象都有toString 方法
charAt() 寻找特定字符在字符串中的位置
js把每个字符串都当作对象 方便计算长度和搜索子字符串的
round()四舍五入 floor()无条件删除 ceil()无条件进位 random min max abs
Math方法是静态方法和常量的集合 所以不需要new
使用prototype 可以创建类拥有的方法 存储一次 运行多次 让方法存储与类内,以免实例不必要的一只复制程序代码 可以提高效率
Blog.prototype.toHTML = function(){}
this..toHTML = function(){}
类特性在构造函数外 Blog.prototype.signature
实例特性在构造函数内建立 this.date
未定义表示引用了没有值的变量
undeifined 和null 在boolean中都被转换为false
当引号不是引号 使用转义符 / It/'s524
29.js三虫客
运行时错误
语法错误
逻辑错误 局部变量掩盖全局变量 ==写成= 相同名字的局部变量拥有最高优先权利,任何函数内的变化不会带到函数外
alert 控制台console 注释隐藏代码片段
确定括号成对出现
确定大括号成对出现
标识符名称一定要写对
小心使用引号和撇号
不要误用== 成=
确定对象在被访问前已经创建
不要给局部变量喝全局变量起相同名字
30.xml 可以用自定义标签显示数据
xml+html=xhtml
xhtml要求所有标签成对出现,所有属性用引号围起来
网页被传输到浏览器之前都已xml存储
ajax 0-4 未初始 开启 已传送 接收中 已载入
abort() 取消ajax的时候
open()准备请求 制定请求的细节
send()传送请求 交给服务器处理
readyState
status
onreadystatechange
responseXML
responseText
get对服务器没有影响
post会给服务器存储数据 并且动态刷新表单
- 深入浅出js
- 深入浅出Ext JS
- 深入浅出js常见问题
- 深入浅出Node.js
- 深入浅出Node.js
- 深入浅出Node.js
- 深入浅出Node.js
- <<深入浅出node.js>>
- 深入浅出Node.js(一)
- js深入浅出(大纲)
- 深入浅出Ext JS 学习计划
- 深入浅出Node.js读书笔记
- 深入浅出js事件
- 深入浅出js事件
- Vue.js之深入浅出
- 深入浅出JS动画
- 深入浅出 ck1.in/N.JS
- js深入浅出学习笔记(一)
- BJ模拟(2) D2T3 路径规划
- 第一篇博客
- Linux---将文件复制到虚拟机中
- jQuery入门 --基本概念及选择器的使用
- Core Graphics API 详解
- 深入浅出js
- 解决IDEA不能debug的问题
- PTA 两个有序链表序列的合并
- elk 定时清理三天前数据
- jeecg报类型错误
- python中文分句
- PTA 小于m的最大的10个素数
- Linux命令(4)——declare/typeset命令(builtin)
- 对不起,迟到了