简述一个JavaScript脚本的基本结构

JavaScript015

简述一个JavaScript脚本的基本结构,第1张

我不知道你还学过其它什么语言,如果学过,可以进行类比

JAVASCRIPT作为一种脚本语言,可以说非常强大。

我感觉它是属于C系统的语言:

1、数据类型

2、基本语法

3、流程控制

4、API

5、高级特性(闭包、面向对象)

1. javascript脚本语言, 是由三部分构成的. 即核心: ECMAScript, dom, bom.

a).ECMAScript是以浏览器为宿主, 你可以把他看成是一个base function. javascript中所有的对象都是派生于ECMAScript中的一个大对象中. 由于不同浏览器对于ECMAScript的实现不同(以w3c为基准).所以市面上的不同浏览器中的js代码需要作兼容.

b). dom即文档对象模型, 就是html树. dom可以让你使用js来获取dom树中节点的对象, 以便你对html元素进行操作.

c). bom即浏览器对象模型, 浏览器厂商会把浏览器的基础信息封装在bom对象中.如窗口的各种宽度,高度. 浏览器版本,核心等信息.

2.个人认为javascript主要用于静态html 于用户的交互. 俗话说: 让html元素动起来. 比如: 添加,删除dom树节点. 制作像素动画, 给html控件添加事件监听.等. 不得不说的还有一个ajax, 即由js触发的异步请求.

3. window对象最常用的方法大概有, location(用于跳页面和重定向), escape(系列)用于编码url. navigator(用于获取浏览器基础信息), setTimeout定时器, offsetWidth\offsetHeight\clientWidth等 (获取窗口高\宽度). 更多的方法你可以去w3cschool看.

4. Date对象方法如下

getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth() 从 Date 对象返回月份 (0 ~ 11)。

getFullYear() 从 Date 对象以四位数字返回年份。

getYear() 请使用 getFullYear() 方法代替。

getHours() 返回 Date 对象的小时 (0 ~ 23)。

getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。

getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。

getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。

getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth() 设置 Date 对象中月份 (0 ~ 11)。

setFullYear() 设置 Date 对象中的年份(四位数字)。

setYear() 请使用 setFullYear() 方法代替。

setHours() 设置 Date 对象中的小时 (0 ~ 23)。

setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。

setTime() 以毫秒设置 Date 对象。

setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource() 返回该对象的源代码。

toString() 把 Date 对象转换为字符串。

toTimeString() 把 Date 对象的时间部分转换为字符串。

toDateString() 把 Date 对象的日期部分转换为字符串。

toGMTString() 请使用 toUTCString() 方法代替。

toUTCString() 根据世界时,把 Date 对象转换为字符串。

toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

valueOf() 返回 Date 对象的原始值。

5. setTimeout()方法与setInterval()方法的区别

setTimeout: 等待指定毫秒后,执行回调函数. 这个方法只执行一次. 即延时指定时间后执行一次.

当然,也可以作循环回调. 即在回调函数中再设置setTimeout. 在制作占用内存较多的动画时,一般都使用setTimeout的循环回调, 而不是setInterval. 因为,setTimeout是在回调被执行时才发起下一次setTimeout. 而setInterval是每隔指定时间就执行. 它不管你回调中的代码有没有被执行完成.这就会有问题. 如果你回调函数中执行的代码较耗时间. setTimeout会等你的回调函数执行到指定代码段的时候再发起下一次setTimeout. 保证你的动画就算很卡也能正常执行. 而setInterval的执行效果你就可想而知了. 它会让你的动画变得乱七八糟.

setInterval: 每隔指定时间执行一次回调函数. 这个方法适用于反覆执行占用资源较小的回调函数.如你在页面上显示一个动态的时钟. 就没有必要去作一个setTimeout的循环调用了.