JavaScript重点知识(二)
三.JS的API
3.1知识点(DOM)
1)DOM本质
- 将html结构化成浏览器和JS可识别可操作的东西
2)变量计算---强制类型转换
- 获取DOM节点
- Attribute(对html标签属性的修改)
- prototype(对JS对象的属性修改)
3)DOM结构操作
- 增加DOM节点 .appendChild( )
- 获取父元素 .parentElement
- 获取子元素 .childNode
- 删除节点 .removeChild( )
3.2知识点(BOM)
1)navigator
- .userAgent
2)screen
- .width
- .height
3)location
- .href
- .protocal
- .host
- .pathname
- search
- .hash
4)screen
- .back( )
- .forward( )
3.3知识点(事件绑定)
1)通用事件绑定
- .addEventlistener('事件',函数)
2)事件冒泡
- event.stopPropagation( )
3)取消默认
- event.preventDefault( )
4)代理
- var target = e.target
3.4知识点(Ajax)
1)XMLHttpRequest
var xhr = new XMLHttpRequest( );
xhr.onreadystatechange = function( ){
if(xhr.readyState==4){
if(xhr.status==200){
alert(xhr.responseText);
}
}
};
xhr.open("GET","/api",false);
xhr.send(null);
2)状态码说明
- 0-(未初始化)没调用send( )
- 1-(载入)调用send( ),正发送请求
- 2-(载入完成)send( )完,收完内容
- 3-(交互)解析响应内容
- 4-(完成)解析完可以在客户端用
- 2xx-成功处理请求
- 3xx-要重定向,浏览器直接跳转
- 4xx-客户端请求错误
- 5xx-服务端错误
3)跨域
- 什么是跨域
- 跨域条件:协议、域名、端口,有一个不同就算跨域
- 浏览器有同源策略,不允许ajax访问其他域接口
- 可以跨域的三个标签
- <img src = xxx>
- <link href = xxx>
- <script src = xxx>
3.5知识点(JSONP)
1)实现原理
- 加载某网址上的html文件http://www.xxxx.com/class.html
- 服务器端不一定有一个class.html文件,服务器可根据请求动态生成文件返回
2)例子
- 你要访问某网站的一个接口,该网站给你一个地址,你将它写在你的网站的<script src = xxx>里
- 同时,还要写一个window.callback = function(data){//我们跨域得到的信息}
3.6知识点(存储)
1)cookie
- 本身用于客户端和服务端通信,但有本地存储功能
- 用document.cookie = ...获取和修改
- 缺点:
- 存量小,4kb
- 所有http请求都带着,影响资源获取效率
2)locationStorage和sessionStorage
- html为存储设计,最大存储量5M
- API简单易用
- .setItem(key,value)
- .getItem(key)
3)三者区别
- 容量
- 是否携带到ajax中
- API易用性
关于JS重点知识介绍到这里,这里不作详细介绍,只粗略列出常用知识点。
JavaScript重点知识(二)的更多相关文章
- AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解
AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一 ...
- JavaScript重点知识(一)
一.总括 基础知识: 1.变量 2.原型和原型链 3.作用域和闭包 4.异步和单线程 JS的API: 1.BOM,DOM操作 2.事件绑定 3.Ajax 4.JSOP 5.存储 二.基础知识 2.1知 ...
- 【转载】STL"源码"剖析-重点知识总结
原文:STL"源码"剖析-重点知识总结 STL是C++重要的组件之一,大学时看过<STL源码剖析>这本书,这几天复习了一下,总结出以下LZ认为比较重要的知识点,内容有点 ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- javascript常用知识点集
javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...
- {Python之线程} 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Threading模块 九 锁 十 信号量 十一 事件Event 十二 条件Condition(了解) 十三 定时器
Python之线程 线程 本节目录 一 背景知识 二 线程与进程的关系 三 线程的特点 四 线程的实际应用场景 五 内存中的线程 六 用户级线程和内核级线程(了解) 七 python与线程 八 Thr ...
- AJAX重点知识的心得体会
下面就为大家带来一篇 AJAX重点知识的心得体会.学习还是有点帮助的,给大家做个参考吧. AJAX是什么? 是Asynchronous Javascript And XML的首字母的缩写, 它不是一门 ...
随机推荐
- Spring cloud开发内存占用过高解决方法
https://blog.csdn.net/wanhuiguizong/article/details/79289986 版权声明:本文为博主原创文章,转载请声明文章来源和原文链接. https:// ...
- 基于 SSL 的 Nginx 反向代理
基于 SSL 的 Nginx 反向代理 描述: 线上zabbix因机房网络问题,外网接口无法对外访问,因此采用同机房的另外一台服务器做反向代理. 线上用于zabbix提供web访问的Nginx,采用h ...
- 作为php了解一下共享内存的概念及优缺点
共享内存是一种在相同机器中两个正在运行的进程之间共享和传递数据的有效方式,不同进程之间共享的内存通常安排为同一段物理内存:顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存.一个进程可创建一 ...
- 安装python3.7和PyCharm专业版
安装python3.7 安装PyCharm专业版 1.下载地址http://www.jetbrains.com/pycharm/download/,选择windows下面的Professional,点 ...
- SQL语句的优化方法
减少对数据库的查询次数 尽量使用相同的或非常类似的SQL语句进行查询 避免不带任何条件的SQL语句的执行 sql语句用大写 别名的使用(1.5倍)
- 【ASP.Net MVC3 】使用Unity 实现依赖注入
转载于:http://www.cnblogs.com/techborther/archive/2012/01/06/2313498.html 家人身体不太好,好几天没在园子里发帖了. 新项目还是要用M ...
- 【题解】 P2234 [HNOI2002]营业额统计
平衡树板题 原题传送门 这道题要用Splay,我博客里有对Splay的详细介绍 这道题目还算比较模板的 每输入一个数,先不要插入 要求一下前驱和后继与x差的最小值并加到答案中 再把x插入平衡树 然后你 ...
- 【题解】Luogu P2157 [SDOI2009]学校食堂
原题传送门:P2157 [SDOI2009]学校食堂 一看题目就知道是状压dp 设f[i][j][k]表示第1到i-1个人都吃完了饭,第i个人以及后面的7个人是否打饭的状态为j,当前最后打饭的人的编号 ...
- Linux 系统下安装 python-skimage
Linux 系统下安装 python-skimage 安装必须的依赖 // python-mumpy // python-scipy // python-matplotlib $ sudo apt-g ...
- 一个随机验证码且不重复的小程序以及求随机输入一组数组中的最大值(Java)
1.代码: package day20181015;import java.util.Arrays;/** * 验证码的实现 * @author Administrator */public clas ...