javascript高程3 学习笔记(一)


javascript简史

  • 微软IE和网景在浏览器上的竞争
  • ECMAScript,由ECMA-262定义,提供核心语言功能 `ECMA 欧洲计算机制造商协会
  • 一个完整的Javascript的组成有 核心(ECMAScript),文档对象模型(DOM),浏览器对象模型(BOM)

在html中使用javascript​

js的三种调用方式



<script> init(); </script> <script type="text/javascript" src="main.js"></script> <input type="button" onclick="javascript:alert('test')">

思考: 比较这几种方式的优劣,效率上有什么差异性?

<script src="" async/defer></script> <!--html5 新属性--> 

思考: 用法,范围,比较和defer的区别

async,表示当前脚本不必等待其他脚本,也不必阻塞文档呈现,不能保证异步脚本按照它们在页面中出现的顺序执行
defer,可以让脚本在文档呈现后再执行,延迟脚本总是按照它们的顺序执行的。

< noscript>元素,当浏览器不支持javascript脚本


javascript数据结构

​ECMAScript有如下5中基本数据结构

Undefined Boolean Null Number String

typeof 操作符,用来检测给定变量的数据类型

  • Undefined – undefined
var message; // var age alert(typeof message); alert(typeof age); 

结果都是undefined,message 声明没初始化,使用var生命变量但未对其进行初始化的,默认undefined;age没有进行声明,传递给alert()函数会导致一个错误,对于未声明变量这么操作没什么意义比如delete,也是返回undefined。所以

对变量进行变量声明能通过typeof,辨别变量没有被初始化而不是没声明
– Null -null 表示空对象指针 所以typeof 返回object
一般我们在声明一个对象变量时候,应该让变量保存null,这样通过typeof 便可以知道,可以区分null和undefined
– Boolean – boolean 只有true/false,Boolean() 转换其他数据类型 为true/false
– Number
1. 对于float数,为什么0.1+0.2 != 0.3?
2. NaN(Not a Number)的设计初衷,表示一个本该返回数字却没返回数字的情况,比如1/0
3. 数值转换 Number() parseInt() parseFloat()

  • String 字符串类型
  • Object ECMAScript的对象是一组数据和功能的集合

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>