JavaScript读书笔记(2)--数据类型
1、 严格模式:在javascript中定义了一种不同的解析与执行模型。在严格模式下,一些不确定的行为将得到处理,对某些不安全的操作也会抛出错误。
用法是在脚本中添加:”use strict”;
这是一个编译指示,用于告诉引擎切换到严格模式;
2、 Javascript中的语句,若没有带分号,由解析器确定语句的结尾,但不推荐这么做;
Javascript关键字:
break,case,catch,continue,debugger*,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with;
javascript保留字:
abstract,Boolean,char,class,const,debugger,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchromized,throws,transient,volatile.
3、 Javascript的变量时松散类型的,可以用来保存任何类型的数据;
使用var操作符定义的变量将成为定义该变量的作用域中的局部变量;
不带var定义的变量为全局变量,在函数中时,定义的全局变量很难维护,不推荐这么做;
4、 ECMAScript有5种数据类型(基本数据类型):undefined,null,Boolean,number,string;
还有一个复杂数据类型Object,是由一组无序的名值对组成;
ECMAScript不支持任何创建自定义了类型的机制;
Typeof操作符返回值:typeof(95)或typeof 95
Undefined-这个值未定义(使用var声明变量但未初始化时,未声明变量时)
Boolean-布尔值
String-字符串
Number-数值
Object-对象或null
Function-函数
对尚未声明过的变量,只能执行一个操作-typeof,用delete不会导致错误,但没实际意义;
5、 Null值表示一个空对象指针,在保存对象的变量还没有真正保存对象时,应该明确地让该变量保存null值;
Alert(null==undefined);返回true,(undefined值派生自null值)
6、 Number类型
(1) 最小数值-Number.MIN_VALUE (Infinity)
组大数值-Number.MAX_VALUE (-Infinity)
isFinite()函数-判断一个数值是否位于最小和最大数值之间
(2) NaN(Not a Number),表示一个本来要返回数值的操作未返回数值的情况
任何涉及NaN的操作都会返回NaN;
NaN与任何值都不相等,包括它本身;
IsNaN()函数,任何不能被转换为数值的值都会导致这个函数返回true;
在基于对象调用isNaN函数时,会首先调用对象的valueof方法,然后确定该方法返回值是否可以转换为数值;
(3) 数值转换
Number()函数-可用于任何类型
parseInt()函数-适用于字符串,主要看其是否符合数值模式
忽略前面的空格,直到找到第一个非空格字符,解析到一个非数字字符结束;
如果第一个字符不是数字符号或负号,返回NaN;
能解析八进制和十六进制,可以用第二个参数指定多少进制
parseFloat()函数-从第一个字符开始解析每个字符,或遇到无效浮点数为止
只解析十进制数;
忽略前导的0;
若参数可解析为正说,返回整数;
7、 String,可以用单引号,也可以用双引号字符串是不可变的;
转换为字符串:
toString()方法:null和undefined不可调用数值的调用可以传递一个参数作为输出数值的基数,默认为10,num.toString(2);
String()方法:能将任何类型的值转换为字符串;若值有toString方法,调用该方法,null返回”null”;undefined返回”undefined”;
8、 Object类型,对象就是一组数据和功能的集合;
(1) 创建Object类型的实例并为其添加属性或方法,就可以创建自定义对象;
var o=new Object(); // 等同于var o=new Object; 推荐加圆括号
(2) Object类型是所有其他实例的基础,Object类型所具有的任何属性和方法也同样存在于更具体的对象中,都具有的属性和方法:
Constructor-保存用于创建当前对象的函数;
hasOwnProperty(propertyName)-检查给定的属性是否在当前对象中存在;
isPrototypeOf(object)-检查传入的对象是否是另一个对象的原型;
propertyIsEnumerable(propertyName)-检查给定属性能否使用for-in语句来枚举;
toLocaleString()-返回对象的字符串表示,与执行环境的地区对应;
toString()-返回对象的字符串表示;
valueOf()-返回对象的字符串、数值或布尔值表示;
ECMAScript中的对象不一定适用于javaScript中的其他对象,浏览器环境中的对象,如BOM和DOM中的对象,都属于宿主对象,不一定继承Object;
JavaScript读书笔记(2)--数据类型的更多相关文章
- 数据结构与算法JavaScript 读书笔记
由于自己在对数组操作这块比较薄弱,然后经高人指点,需要好好的攻读一下这本书籍,原本想这个书名就比较高深,这下不好玩了.不过看着看着突然觉得讲的东西都比较基础.不过很多东西,平时还是没有注意到,故写出读 ...
- 你不知道的javascript读书笔记3
概述 这是我看<你不知道的JavaScript(中卷)>中关于类型检查的笔记,供以后开发时参考,相信对其他人也有用. typeof 我们知道js中有七种内置类型:undefined, nu ...
- Mongo读书笔记2 -- 数据类型
Mongo有多种类型的collection, 默认的是随着document 数目的增多自动增大; 还有一些collection被称为capped collection, 只能包含固定数目的docu ...
- JavaScript读书笔记(4)-变量、作用域和内存问题
1.ECMAScript数据类型分为:基本类型值和引用类型值: ECMAScript中所有函数的参数都是按值传递的: 检查对象的类型:varible instanceof constructor Al ...
- JavaScript读书笔记(1)
从今天开启每天看书记笔记模式,<JavaScript高级程序设计(第3版)> 1. Javascript最初是为了解决输入验证器的问题,现在已经发展成一门复杂的语言: 2. 语言标准为E ...
- 【JavaScript学习笔记】数据类型
1.获取数据类型 typeof 用法: typeof variable or typeof(variable) JavaScript中总共有6种数据类型,string.number.boolean ...
- JavaScript读书笔记(一)
自动类型转换 在JavaScript中,使用 == .=== 和 - 等运算符能够使得类型自动转换. 关于不同类型的值的比较 flase == 0; //true "" == fl ...
- 《MySQL技术内幕——SQL编程》读书笔记(二)——数据类型
对数据类型的选择将影响与数据库交互的应用程序的性能. 1.通常来说,如果一个页内可以存放尽可能多的行,那么数据库的性能就越好,因此选择一个正确的数据类型至关重要. 2.另一方面,如果在数据库中创建表时 ...
- 悟透javascript读书笔记
1.undefined,null,0,"" 这四个值转换为逻辑值时是false,其他无论简单类型值,对象或者函数转换过来都是true 2.如图 第一个是“声明了一个变量,给变量赋 ...
随机推荐
- [OJ#15]TR #2 画心
[OJ#15]TR #2 画心 试题描述 渠是一名画师.渠有一支神奇的画笔,可以画尽因果. 渠要画一幅画,这幅画由N个线段组成,线段从1开始编号,第i条线段有一个特殊的因果值Ai. 由于画太长了,渠不 ...
- BZOJ 4555 [Tjoi2016&Heoi2016]求和 ——分治 NTT 多项式求逆
不想多说了,看网上的题解吧,我大概说下思路. 首先考察Stirling的意义,然后求出递推式,变成卷积的形式. 然后发现贡献是一定的,我们可以分治+NTT. 也可以直接求逆(我不会啊啊啊啊啊) #in ...
- 《快速开发》通过Maven创建WebService项目Hello World!
有多快? 整个过程3分钟.不用下载jar包,不用一步一步创建Web Project... 你需要的就是在Maven库里选一个archetype,然后一路Next~ 先看结果: 准备好了吗?我们起飞: ...
- 通过rabbitmqadmin管理rabbitmq
# 安装rabbitmq $ sudo apt install rabbitmq-server # 下载rabbitmqadmin管理工具 sudo rabbitmq-plugins enable r ...
- Unity 导出的android项目自动生成Private Libraries
如果Unity里面Plugins/Android 添加了 jar 文件,则导出Android 项目时会自动生成 Private Libraries. 而且里面的项还删不掉 然后在网上搜了一下,找到了原 ...
- tyvj 2002 扑克牌
期望DP 本题递推比较麻烦,可以记忆化搜索 注意搜索的边界条件 以及每一次转移 #include <iostream> #include <cstdio> #include & ...
- 页面之间传值的方法asp
原文发布时间为:2008-06-02 -- 来源于本人的百度文章 [由搬家工具导入] asp.net页面间传值 今天学习中要在两个页面中传值,网上搜了一下,asp.net主要用到三个方法,前两个req ...
- C#精髓第四讲 GridView 72般绝技
原文发布时间为:2008-08-03 -- 来源于本人的百度文章 [由搬家工具导入] 原文地址:http://blog.csdn.net/21aspnet/archive/2007/03/25/154 ...
- Linux--内核Uevent事件机制 与 Input子系统【转】
转自:http://blog.csdn.net/lxl584685501/article/details/46379453 [-] 一Uevent机制 Uevent在kernel中的位置 Uevent ...
- 05深入理解C指针之---指针声明和解引
该系列文章源于<深入理解C指针>的阅读与理解,由于本人的见识和知识的欠缺可能有误,还望大家批评指教. 一.指针声明: 1.声明普通变量:“数据类型 + 空格 + 变量名 + :”实现普通 ...