《javascript高级编程》读书笔记(两)javascript基本概念
第三章:基本概念
ECMAScript那里5种简单数据类型(也称基本数据类型):Undefined\Null\Boolean\Number\String,另一种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的。
typeof是一个操作符而不是函数.
Undefined类型:此类型仅仅有一个值,即undefined.在使用var声明变量但未对其初始化时。这个变量的值就是undefined.
var message;
var message2 = undefined;
alert(message); // ”undefined”
alert(message == undefined); // true
alert(typeof message); // ”undefined”
alert(message == undefined); // true
alert(age); // 产生错误
alert(typeof age); // ”undefined”
Null类型:此类型仅仅有一个值,即null.表示一个空对象指针。
var car = null;
alert(typeof car); // ”object”
if(car != null){
//对car对象运行操作
}
undefined值是派生自null值的。
alert(null == undefined); //true
仅仅要意在保存对象的变量还没有真正保存对象,就应该明白地让该对象保存null值。
Number类型:
,十六进制的前两位是0x.
科学计数法:e
ECMAScript所能表示的最小和最大的值各自是:Number.MIN_VALUE与Number.MAX_VALUE,超出范围。会被成Infinity值(即Number.POSITIVE_INFINITY)或者-Infinity(即Number.NEGATIVE_INFINITY).
NaN(Not a Number)
1. 不论什么涉及到NaNde 操作都会返回NaN.
2. NaN与不论什么值都不相等,包含NaN本身。
alert( NaN == NaN ); // false
IsNaN()在接受到一个值之后,会尝试将这个值转换为数值。
alert(isNaN(NaN)); //true
alert(isNaN(10)); //false
alert(isNaN(“10”)); //false
alert(isNaN(“blue”)); //true
)
isNaN也适用于对象,会先调用对象的valueOf()方法,假设不能转换为数值。再基于返回值调用toString()方法。
数值转换:
能够将非数值转换成数值的函数:
1. Number() 用于不论什么数据类型,不解析八进制
var str ;
var str2 = null;
var str3 = “hello world”;
Number(str); //NaN
Number(str2); //0
Number(str3); //NaN
Number(“”); //0
Number(“000011”); //11
Number(true); //1
Number(“0xA”); //10
一元加操作符的操作与Number()同样。
2. parseInt() 用于字符串类型(忽略前面的空格),可解析八进制
parseInt(“ 1234blue”); // 1234
parseInt(“”); // NaN
parseInt(“0xa”); // 10
parseInt(“70”,8); //56 (指定基数。即8进制)
parseInt(“10”,2); // 2
进制
parseFloat(“1234blue”); //1234
parseFloat(“0xA”); //0
parseFloat(“22.34.5”); //22.34
parseFloat(“0908.5”); //908.5
parseFloat(“3.125e7”); //31250000
String类型:能够用双引號。也能够用单引號表示。
除了null与undefined值没有toString(),其它都有。可是null与undefined能够调用String(),返回对应的字符串。即null值返回“null”,undefined值返回“undefined”。
toString()能够传入基数參数,表示输出的进制表示。如:
var num = 10;
number.toString(2); // “1010”
要把某个值转换为字符串,能够使用加号操作符把它与一个空字符串(””)加在一起。
with语句:
with语句的作用是将代码的作用域设置到一个特定对象中。目的是简化多次编写同一个对象的工作。样例见···
可是大量使用with语句会导致性能下降,同一时候也会给调试代码造成困难。因此在开发大型应用程序时,不建议使用with语句。
switch语句:
).
函数的返回值:
除了return语句外。没有不论什么声明表示该函数返回一个值。
另外。return语句也能够不带不论什么返回值,此时,函数在停止运行后将返回undefined。
ECMAScript的函数參数:重点
命名的參数仅仅提供便利,但不是必须的。解析器不会验证命名參数。
ECMAScript中的參数在内部是一个数组来表示的。能够通过arguments对象来訪问这个參数数组,从而訪问每个參数。
改动arguments对象中的值会自己主动反映到相应的命名參数。可是改动命名參数不会改变arguments相应的值。
没有传递值得命名參数将自己主动被赋予undefined值。
ECMAScript中的全部參数传递的都是值,不可能通过引用传递參数。
ECMAScript功能不能超载,您可以覆盖。
版权声明:本文博主原创文章。博客,未经同意不得转载。
《javascript高级编程》读书笔记(两)javascript基本概念的更多相关文章
- Node.js高级编程读书笔记Outline
Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...
- python高级编程读书笔记(一)
python高级编程读书笔记(一) python 高级编程读书笔记,记录一下基础和高级用法 python2和python3兼容处理 使用sys模块使程序python2和python3兼容 import ...
- JavaScript 函数式编程读书笔记1
概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...
- JavaScript 函数式编程读书笔记2
概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...
- JavaScript高级编程学习笔记(第三章之一)
继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...
- javascript高级程序设计读书笔记-事件(一)
读书笔记,写的很乱 事件处理程序 事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别 没有DOM1 同样的事件 DOM0会顶掉html事件 因为他们都是属性 而 ...
- JavaScript高级程序设计-读书笔记(1)
第1章 JavaScript简介 JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: l ECMAScript:提供核心语言功能: l 文 ...
- unix环境高级编程-读书笔记与习题解答-第一篇
从这周开始逐渐的进入学习状态,每天晚上都会坚持写c程序,并且伴随对这本书的深入,希望能写出更高质量的读书笔记和程序. 本书的第一章,介绍了一些关于unix的基础知识,在这里我不想去讨论linux到底是 ...
- [置顶] 文件和目录(二)--unix环境高级编程读书笔记
在linux中,文件的相关信息都记录在stat这个结构体中,文件长度是记录在stat的st_size成员中.对于普通文件,其长度可以为0,目录的长度一般为1024的倍数,这与linux文件系统中blo ...
- Node.js高级编程读书笔记 - 1 基本概念
Outline 1 概述和安装 1.1 安装Node 1.2 Node简介 2 Node核心API基础 2.1 加载模块 2.2 应用缓冲区处理.编码和解码二进制数据 2.3 使用时间发射器模式简化事 ...
随机推荐
- C#-循环滚动字幕,timer,从左至右,从右至左,暂停---ShinePans
Lable的Left属性是能够更改的,可是 Right属性不能够更改,所以我们能够利用 这个特点做自加 自减运算 using System; using System.Collections.Gene ...
- POJ2239_Selecting Courses(二分图最大匹配)
解题报告 http://blog.csdn.net/juncoder/article/details/38154699 题目传送门 题意: 每天有12节课.一周上7天,一门课在一周有多天上课. 求一周 ...
- Learning To Rank之LambdaMART前世今生
1. 前言 我们知道排序在非常多应用场景中属于一个非常核心的模块.最直接的应用就是搜索引擎.当用户提交一个query.搜索引擎会召回非常多文档,然后依据文档与query以及用户的相关程度对 ...
- [Unity3D]Unity4全新的动画系统Mecanim
Unity4.X添加一个新的动画系统,以取代原有的3.X旧的动画系统,全新的动画系统Mecanim是官方推荐,它使我们能够写更少的代码实现连续动画. 效果图 Unity3.X中动画系统播放动画 使用播 ...
- Nim博弈游戏
给定n堆石子,每次每人能从一堆石子中取若干个石子(不能不取),最后不能取石子者败 对于这个游戏,我们要判断的是,给定局势下,先手者胜还是败 设先手胜的局势为N-postion,先手败的局势为P-pos ...
- android CountDownTimer
最近进行的项目使用的定时功能,我发现了一个非常容易使用内置类CountDownTimer.当然,可以使用这种效果TimerTask + Timer为了实现.只是我个人的意见CountDownTimer ...
- Android开发调节屏幕亮度
在播放器,我们经常看到这样的设计,即,在用户的特定部分将能够滑动屏幕向上或向下调整屏幕的亮度,上下滑动的某一部分将能够调整播放音量.并以滑动的进程可以进行调整,以玩. 如今,我不得不说一下亮度调节. ...
- 将 Android* x86 NDK 供 Eclipse* 而移植 NDK 演示示例应用程序
目标 面向 Eclipse (ADT) 的 Android 插件如今支持基于 NDK 的应用开发. 其可自己主动生成项目和构件文件以及代码存根.并可集成到整个 Android 应用开发中(构建原生库. ...
- Django操作model时刻,一个错误:AttributeError:’ProgrammingError’ object has no attribute ‘__traceback__’
原因:在Django项目下对应的应用以下的models.py配置的model(也就是class)没有创建成对应的表. 这是怎么回事呢? 首先,将models.py里面的model创建成相应的数据库表的 ...
- hdu-2814-Interesting Fibonacci-斐波那契周期节
哇,其实我2A该....否1A纯脑损伤.. 乞讨:F(a^b)^(F(a^b) ^ (n-1))%c 既是求F(a^b)^(F(a^b) ^ (n-1)%phi[c]+phi[c])%c 先求x=F ...