JavaScript
2020-09-03 14:00:23 0 举报
AI智能生成
JavaScript高级程序设计指南笔记
作者其他创作
大纲/内容
JavaScript
在 HTML 中使用JavaScript
<script>元素
async:立即下载,只适应外部脚本charset:指定字符集defer:延迟加载,只对外部脚本有效language:废弃src:包含要执行的外部文件type:脚本语言的内容类型
标签位置
放在 <html></html>标签后面
变量、作用域、内存
我的博客
基本概念
语法
区分大小写第一个字符必须是一个字母、下划线(_)、$
标识符
基本类型是保存在栈内存中的简单数据段,它们的值都有固定的大小,保存在栈空间,通过按值访问
栈内存与堆内存的区别
严格模式“use strict”
关键字和保留字不要用
变量
1、用来保存数据的容器2、使用 var 创建
数据类型
typeof操作符
undefined:声明变量未初始化、
null:空对象引用
boolean:布尔值 true / false
string:字符串不可改变
使用 toString() 方法将其他类型转换为字符串
number:数字类型
NaN:非数字
数值转换
Number():强转
如果是 Boolean 值,true 和 flase 将分别转换为 1 和 0如果是数字,只是简单的传入和返回如果是 undefined ,返回 0如果是 string,里面有数字则转换为对应的数字。是空返回 0。是其他返回 NaN如果是Object,调用 valueOf() 方法。如果返回 NaN,则调用 toString() 方法
parseInt():
parseFloat():只解析十进制数字
Object:一组数据和功能的集合
操作符
一元操作符
递增++、递减--加+、减-
位操作符
布尔操作符
与:&&或:||非:!
乘性操作符
乘法:*除法:/求模:%
关系操作符
小于:<大于:>小于等于:<=大于等于:>=相等:==不相等:!=全等:===不全等:!==
语句
条件语句:if-else()
循环语句
do-while:至少执行一次white:可能永远不会执行forfor-in:可以用来枚举对象的属性
break:立即跳出循环continue:跳出本次循环
switch-case:控制流语句
label:添加标签
with:将代码的作用域设置在特定的对象中
函数 function
arguments:参数
不能实现重载
JavaScript实现
三部分:核心ECMAScript;文档对象模型DOM;浏览器对象模型BOM
ECMAScript
ECMAScript是由 ECMA-262 定义的
ECMA-262 定义了语法、类型、语句、关键字、保留字、操作符、对象
ECMAScript 版本
第一版:1、删除浏览器代码2、支持 Unicode 标准,支持多语言3、对象变成了与平台无关
第二版:为了与 ISO/IEC-16262保持严格一致没有其他任何 CRUD 操作
第三版:真正的修改,字符串、错误定义、数值输出,正则,控制语句、try-catch异常处理、国际化等。这一版是真正的编程语言。
第四版:ECMA TC39出台的标准跨度太大,此版标准被放弃TC39下属的一个小组提出 ECMAScript 3.1 标准
第五版:TC39提出的ECMAScript 3.1 成为第五版,于2009年12月3日正式发布
ECMAScript 的兼容
1、支持 ECMA-262 的语法、类型、关键字、保留字、操作符、对象;2、支持 Unicode 标准即:可以在 ECMAScript 基础上开发新语言。
web 浏览器对 ECMAScript 的支持
文档对象模型 DOM
把整个页面映射为一个多层节点结构
浏览器对象模型 BOM
处理浏览器窗口和框架
BOM 支持一下扩展:1、弹出新浏览器窗口2、移动、缩放、关闭浏览器窗口3、navigatior 对象4、locationn 对象5、screen 对象6、对 cookies 的支持7、XMLHttpRequest、ActiveXObject 等自定义对象........
BOM:浏览器对象模型
window 对象
全局作用域
在网页中定义的任何一个对象、变量和函数都会变成 window 对象的属性和方法
窗口关系及框架
多个 window 对象保存在 frames 集合中,可以通过数值索引访问 window 对象,如:window.frames[0]
top 对象:始终指向最高(最外)层框架,也就是浏览器窗口
parent 对象:指向当前框架的直接上层框架
窗口位置
页面可见区域的距离
screenLeft
screenTop
移动
窗口大小
返回浏览器窗口本身的尺寸
innerWidth
innerHeight
该页面的视图区域大小(不加边框)
outerWidth
outerHeight
调整窗口大小
导航和打开窗口
超时调用和间歇调用
超时调用
clearTimeout(id_of_settimeout):取消超时调用id_of_setTimeout:由 setTimeout 返回的 id 值
间歇调用
setInterval():同上
clearInterval():同上
系统对话框
alter():只有 确定 按钮,常用于错误提示
confirm():包含取消和确认两个按钮可以获取用户是否执行给定的操作
prompt():包含文本框、取消和确认按钮可以获取用户输入的信息
location 对象
属性
页面都会以新的 URL 加载
hash:返回 URL 的 hash
host:返回服务器名称和端口号
hostname:返回不带端口号的服务器名称
href:返回当前页面的完整 URL
pathname:返回 URL 的目录/文件名
port:返回 URL 指定的端口号
protocol:返回页面使用的协议
search:返回 URL 的查询字符串
方法
location.replace():没有“后退”按钮
location.reload()
参数为空:可能从缓存中加载
参数为 true:从服务器重新加载
navigator 对象
属性和方法:略
检查插件
非 IE 浏览器:plugins数组
IE 浏览器:ActiveXObject类型
screen 对象
history 对象
length:返回浏览器历史记录的 URL 数量
go():在历史记录中任意跳转,正值表示前进,负值表示后退
forward():前进一页
back():后退一页
0 条评论
下一页