Javascript高级程序设计——基本概念(一)
一、语法
EMCA-262通过叫做ECMAScript的“伪语言”为我们描述了javascript实现的基本概念
javascript借鉴了C的语法,区分大小写,标示符以字母、下划线、或美元符号($)开头,注释可以用 // 或者/* */
严格模式:
ECMAScript 5引入了严格模式,在严格模式下不确定的行为将得到处理,通过在顶部添加 “use strict”来启用严格模式:
function fuc(){
"use strict";
//函数体
}这行代码是一个编译提示,告诉支持javascript的引擎切换到严格模式。
变量:
ECMAScript的类型是松散类型的,可以保存任何类型的数据
通过使用var来声明变量:
var message,
num.
str;当省略var关键词时,自动创建全局变量。
数据类型: 六种数据类型
1、Undefined
2、Null
3、Boolean
4、Number
5、String
6、Object(一组无序的名值对组成) 操作符:typeof 注意不是函数,可用于变量或者数值字面量。
Undefined:
Undefined类型只有一个值,即特殊的undefined,
当变量定义未初始化时,其值为undefined。var test;
typeof test == "undefined" //true对未声明的变量执行typeof操作时也会返回undefined
Null:
Null类型的值为null,表示一个空对象指针,
undefined值派生自null值.typeof null == 'object';如果定义的变量准备在将来用于保存对象,最好将变量初始化为null,而不是其他值,
这样只要检测是否是null值就可以知道变量是否已经保存一个对象的引用。 Boolean:
Boolean类型,值为true 和 false, 区分大小写。
将任意数据类型转换为Boolean可以使用Boolean()函数。控制流语句如if语句会发生自动转换var msg = "hello"
if(msg){
alert("hello, yangxunwu");
}
//msg自动转换为Boolean类型trueNumber:
Number类型使用IEEE754格式来表示整数和浮点数。ECMA-262定义了不同的数值字面量。var intNum = 55 //十进制整数
var octaNum= 70 //八进制整数56
var hexNum = 0xA //十六进制整数 var floatNum = 1.10
var floatNum = 2.34e3 //e表示法2340
数值范围:
最大:Number.MAX_VALUE
最小:Number.MIN_VALUE
超过数值范围的值会返回Infinity值,不能参与下次计算NaN:
非数值(not a number)是特殊的数值,表示一个原来要返回数值的操作数未返回数值的情况。例如0/0。其他语言会导致错误,但ECMAScript返回NaN。
isNaN()函数确定参数是否“不是数值” isNaN(NaN) //true
isNaN("blue") //true
isNaN(“10”) //false NaN不等于任何数值
NaN == NaN //false
数值转换:
Number()函数 parseInt() parseFloat() Number("") //
Number(false) //
Number("hello") //NaN
Number("0010") //
如果是对象先调研valueOf(),再调用toString()方法。 parseInt("123abc") //
第二个参数指定基数
parstInt("123abc", 16) // parseFloat("12.3ab") //12.3
parseFloat("12.3.4") //12.3
parseFloat()没有第二个参数指定基数String:
String类型由零到多个16位的Unicode字符组成的字符序列,即字符串,用“”或者‘’表示。
字符串一旦创建不可更改,要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另外包含新值的字符串填充该变量。 var lang = "java"
lang = lang + "script"
首先创建一个容纳10个字符的新字符串,然后在这个字符串中填充“java”和"script",最后销毁原来的“java”和“script”字符串。Object:
Object类型是一组数据和功能的集合。对象可以通过执行new操作符后跟的对象类型来创建。而创建Object类型
的实例并为其添加属性和方法,就可以创建自定义对象。
var obj = new Object()
在ECMAScript中,Object类型是所有他的实例的基础,Object存在的任何属性和方法也存在于更具体的对象中。
Javascript高级程序设计——基本概念(一)的更多相关文章
- Javascript高级程序设计——基本概念(二)
相等操作符: 相等==:这个操作符会先转换操作数,强制类型转换,然后再比较他们的相等性. null == undefined //true NaN == NaN //false"5" ...
- 《JavaScript高级程序设计》 -- 基本概念(一)
之前看过好几遍<JavaScript高级程序设计>这一书,但是始终没有完完整整的看过一遍.从现在开始我会把它完整的啃一遍,每章节都记录笔记,自己的心得,加油! 由于前三章的内容比较简单,因 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 【javascript学习——《javascript高级程序设计》笔记】DOM操作
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head& ...
- 读javascript高级程序设计00-目录
javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...
- 《JavaScript高级程序设计》读书笔记--前言
起因 web编程过程使用javascript时感觉很吃力,效率很低.根本原因在于对javascript整个知识体系不熟,看来需要找些书脑补一下,同时欢迎众网友监督. 大神推荐书籍 看了博客大神们推荐的 ...
- 《JavaScript高级程序设计》学习笔记(5)——面向对象编程
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...
- 《JavaScript高级程序设计》学习笔记(4)——引用类型
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第五章内容. 在ECMAScript中, ...
- 1 《JavaScript高级程序设计》学习笔记(1)
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 首先,我将从<JavaScript高级程序设计>这本JavaScript学习者必看的经典教 ...
随机推荐
- wildfly 在 jee war 外部写配置文件
有时需要写属性文件,保存配置值,当然也可以写在数据库.这里我们用文件方式. 最简单做法: 写在wildfly的配置目录里面: File confDir = new File(System.getPro ...
- linux 基础 shell脚本命令
#########shell脚本命令#### 1.diff diff file file1 ####比较两个文件的不同 -c ####显示周围的行 -u ####按照一格式统一输出生成补丁 -r ## ...
- css3实现手机效果的“切换标签”
Style样式 .toggle { position: relative; display: inline-block; width: 60px; height: 30px; border: 1px ...
- Django admin美化插件suit
Django Suit 效果 使用前django页面 使用后django页面 安装 官方文档 http://django-suit.readthedocs.io/en/develop/index.ht ...
- mysql使用索引优化查询效率
索引的概念 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针.更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度.在没 ...
- swfUpload 上传图片
前端: <script src="~/Scripts/swfupload/swfupload.js"></script> <script src=&q ...
- bootstrap弹框
http://v3.bootcss.com/javascript/#modals 参考bootstrap官网 模态框做php后端 前端一直不行,但是很多时候 用到ajax都要用到弹框,一直在代码里面找 ...
- Java查找算法——二分查找
import java.lang.reflect.Array; import java.nio.Buffer; import java.util.Arrays; import java.util.Ra ...
- HTML5 常用的结构化标签整理
一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...
- CURL常用命令--update20151015
下载单个文件,默认将输出打印到标准输出(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名的 ...