深入浅出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会给服务器存储数据 并且动态刷新表单

0 0
原创粉丝点击