一.script标签

script标签有6个属性,其中一个废弃,五个可选。

按照传统的写法,<script>的标签都是放在<head>元素中,但是在<head>中包含所有的javascript的文件,也就意味着要在所有的javascript的代码被下载,解析和执行后才能呈现页面的内容。

所以现在的大多推荐把javascript写在</body>的前面。在页面内容呈现完之后再读javascript代码。

PS:当然还是写在头部也能实现这个功能,我们要用到script中一直被我们忽略的属性"defer"。写成这样<script defer="defer"></script> 就行。这样页面就会在遇到</html>标签后才开始执行<script>元素。!重点:defer 属性只能用于外部脚本。同时代码中不要出现"</script>"这样的字符串,否则会加载错误。

二.数据类型

ECMAScript中有5种基本数据类型:Undefined、Null、Number、Boolean、String。还有一种复杂的数据类型Object

其中Undefined,Null都是只有一个值的数据类型。

实际上undefined值是派生自null值的,所以

 alert(null == undefined);  // ture

但是null的用处比undefined要多点,在定义一个变量准备保存对象时,最好将变量初始化为null值。因为从逻辑上来讲,null是一个空对戏那个指针!

 var temp = null;
alert(typeof temp); // object

Boolean类型就没什么好说的了,注意true,false大小写问题,大写的不识别!

Number类型:

有个深坑。。注意:浮点数的最高精度为17位,但是在计算过程中精确度远远不及整数。所以0.1+0.2 ==0.3 是错误的。它是0.30000000000000004. 所以永远不要测试某个特定浮点数的值!

NaN是一个特殊的数值,它与任何数都不相等,包括它本身。任何涉及它的操作都会是NaN 例如NaN/2返回NaN.

String 有一个点,就是它有个length属性,可以返回字符串的长度 ,空格也包括。

var str = "this a str"
alert(str.length) // 输出的是10

还有就是字符串的拼接,用+号来拼接。字符串是不可变的,字符串一旦创建,它的值就是不变的。通过+号拼接的时候是重新生成了新的字符串,旧的被销毁了。

Object类型:

ECMAScript中的对象就是一组数据和功能的集合,关于对象 我写过一篇初级的创建对象的细节.这里就不细讲了

Object几个属性很重要:

constructor:这个是保存用于创建当前对象的函数 Ps: 构造函数就是Object  创建对象的方法就有构造函数创建法。

hasOwnProperty : 判断属性是否在对象的实例中,而不是在原型中。Ps:原型的问题,建议去看原型链的图,很通俗。

isPrototypeOf(Object):检查这个传入的对象是否是当前对象的原型。

toString(),valueOf(): 前一个返回对象的字符串表示。后一个返回字符串,数值或布尔值表示。它们通常返回的是一样的。

还有一些不常用的,就不说了。

以后再讲对象。

重温Javascript第一章的更多相关文章

  1. JavaScript 第一章总结

    A quick dip into javascipt The way JavaScript works HTML 用一系列的 markup 来呈现整个 content 的 structure.CSS ...

  2. 你不知道的JavaScript——第一章:作用域是什么?

    编译原理 JavaScript事实上是一门编译语言,但与传统的编译语言不同,它不是提前编译的,编译结果也不能在分布式系统中进行移植. 任何JavaScript代码片段在执行前都要进行编译(通常就在执行 ...

  3. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  4. 读《编写可维护的JavaScript》第一章总结

    第一章 基本的格式化 1.4 ① 换行 当一行长度到达了单行最大的字符限制时,就需要手动将一行拆成俩行.通常我们会在运算符后换行,下一行会增加俩个层级的缩进. // 好的做法: 在运算符后换行,第二行 ...

  5. 第一章:Javascript语言核心

    本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...

  6. JavaScript DOM编程艺术第一章:JavaScript简史

    本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助, ...

  7. 你不知道的javaScript上卷(第一章 作用域是什么)

    在写这篇博客时这本书我已经是看过一遍了,为了加深印象和深入学习于是打算做这系列的前端经典书籍导读博文,大家如果觉得这本书讲的好可以自己买来看看,我是比较喜欢看纸质版书的,因为这样才有读书的那种感觉. ...

  8. 《JavaScript设计模式与开发实践》笔记第一章

    第一章 面向对象的JavaScript 动态类型语言和鸭子类型 编程语言按照数据类型大体可以分为两类:静态类型语言.动态类型语言. 静态类型语言:在编译时便已确定变量的类型. 优点: 在编译时就能发现 ...

  9. javascript高级程序设计第一章有感

    第一章JavaScript简介 Javascript的诞生最早是为了处理表单数据验证的问题,以前主要是使用perl这个强大的服务端脚本语言处理的.在未诞生javascript之前, 人们每次提交表单就 ...

随机推荐

  1. Warning: Using a password on the command line interface can be insecure.解决办法

    被一个小朋友问到,直接公布答案: If your MySQL client/server version is a 5.6.x a way to avoid the WARNING message a ...

  2. iOS开发零碎知识点

    记录一些常用和不常用的iOS知识点,防止遗忘丢失.(来源为收集自己项目中用到的或者整理看到博客中的知识点),如有错误,欢迎大家批评指正:如有好的知识点,也欢迎大家联系我,添加上去.谢谢! 一.调用代码 ...

  3. 1,Boost -> Bind

    #include <boost/bind.hpp> #include <boost/shared_ptr.hpp> #include <iostream> usin ...

  4. YUV格式分析

    转自:http://www.cnblogs.com/armlinux/archive/2012/02/15/2396763.html Andrew Huang <bluedrum@163.com ...

  5. Logstash学习-Hello World

    1.安装 rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearchcat > /etc/yum.repos.d/l ...

  6. 关于访问链接返回XML的获取数据

    1. 返回DataSet格式; /// <summary> /// 向某个url提交数据并读取该地址返回的xml,并将xml转换成dataset,并返回dataset中某个表 /// &l ...

  7. Milliard Vasya's Function-Ural1353动态规划

    Time limit: 1.0 second Memory limit: 64 MB Vasya is the beginning mathematician. He decided to make ...

  8. C++多线程の条件变量

    如果有一个队列,方法一和方法二:方法一是生产者,方法二是消费者: 两者不停的相互等待,加减锁,为了减少不必要的等待,我们可以使用条件变量, 条件的变量的第二个参数的加入可以控制多个线程的"消 ...

  9. [bzoj 3732] Network (Kruskal重构树)

    kruskal重构树 Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N. 图中有M条边 (1 <= M <= 30,000) ,第 ...

  10. JavaScript对象的chapterII

    一.BOM对象 1.window对象——表示整个浏览器窗口 常用方法: a)alert()——系统消息框 alert('Hello World'); b)确认对话框——confirm() confir ...