Chapter 2 JavaScript Basic
Has 5 primitive types: Undefined, Null, Boolean, String, Number.
typeof operator
Undefined return undefined
Null return object
Boolean return boolean
String return string
Number return number
Null returns object, this is an error in the original JS. Today, null is considered a placeholder for an object, even though, it is a primitive types.
The Undefined Type
Use typeof with Object undefined, it also give "undefined", like the variables defined but not initialized.
The Null Type
alert(null == undefined); //outputs "true"
Even though this is equal, they have different meanings.
The Boolean Type
true false
The Number Type
Number can present 32-bit integer and 64-bit floating point value.
Define floating-point value, you should use like: var fNum = 5.0; This will stored as string, and converted to number until calculation.
e-notion: var fNum = 3.125e7, fNum2=3.125e-7;
Number.MAX_VALUE Number.MIN_VALUE
>Number.MAX_VALUE -> Number.POSITIVE_INFINITY
<Number.MIN_VALUE -> Number.NEGATIVE_INFINITY
Function isFinite(value) returns Boolean
NaN: When convert from other type and failed, the number value is NaN, can't calculate.
alert(NaN == NaN); //outputs "false"
Function isNaN(value) returns Boolean
The String Type
''
""
Conversions
Converting to a string
Booleans, numbers, strings are pseudo-objects.
All objects, include pseudo-objects, all have toString().
Boolean: true false
Number:
var num = 10;
alert(num.toString()); //10
alert(num.toString(2)); // 1010
alert(num.toString(16)); // A
Converting to a number
parseInt(): validate the character in position 0 and determines if this is a valid number, if it isn't , return NaN, else continue untile a character isn't a valid number, and parse the part of valid.
var iNum1 = parseInt("123blue"); //returns 123
var iNum1 = parseInt("22.5"); //returns 22, decimal point is not valid
var iNum2 = parseInt("10", 2) ;//returns 2
var iNum3 = parseInt("0XA");//returns 10
var iNum4 = parseInt("010");//returns 8
var iNum5 = parseInt("010", 10);//returns 10
parseFloat(): if have more than one decimal point, all are invalid except the first one. No radix mode.
var iNum1 = parseFloat("12.34.56"); //returns 12.34
var iNum2 = parseInt("123blue"); //returns 123.0
var iNum3 = parseInt("010");//returns 10
var iNum4 = parseInt("0XA");//returns NaN
Type Casting
Boolean(value)
String with at least one character, a number other than 0, or an object: return true;
Empty string, the number 0, undefined or null, return false.
Number(value)
Works similar to parseInt() & parseFloat(), except that it converts the entire value.
String(value)
Like toString(), but can produce a string for a null or undefined value without error.
var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work
Reference Types
ECMAScript doesn't have classes in the traditional sense. ECMAScript defines "object definitions" that are logically equivalent to classes in other programming languages.
The Object class
Like the java.lang.Object in java.
Properties
constructor
prototype
Methods
hasOwnProperty(property)
isPrototypeof(object)
toString()
valueOf()
The Boolean Class
var oFalseObject = new Boolean(false);
Var bResult = oFalseObject && true; //outputs true
Because all objects converted to true.
The Number class
toFixed(), toFixed(n): returns a string representation of a number with a specified number of decimal points. 0 <= n <= 20
toExponential(n): returns a string with the number formatted in e-notation.
toPrecision():
var oNumberObject = new Number(99);
alert(oNumberObject .toPrecision(1)); //outputs "1e+2"
alert(oNumberObject .toPrecision(2)); //outputs "99"
alert(oNumberObject .toPrecision(3)); //outputs "99.0"
The String class
The String class has length property.
charAt(): returns a string containing the character in that position.
charCodeAt():
Chapter 2 JavaScript Basic的更多相关文章
- 《JavaScript高级程序设计》chapter 1: javascript 简介
1.2.2 文档对象模型 DHTML的出现让开发人员无需重新加载页面就可以修改其外观了. 1.2.3 浏览器对象模型(BOM) BOM真正与众不同的地方在于他作为javascript实 ...
- Javascript Basic Operation Extraction
1. logic operation : '&&' and '||' .For this two logic operations,its' results are inconcl ...
- JavaScript Basic
Exercise-1 Write a JavaScript program to display the current day and time in the following format. T ...
- JavaScript Basic Memo
1.this 的指向 1).由 new 调用?绑定到新创建的对象. 2). 由 call 或者 apply(或者 bind)调用?绑定到指定的对象. 3). 由上下文对象调用?绑定到那个上下文对象. ...
- JavaScript- The Good Parts CHAPTER 2
I know it well:I read it in the grammar long ago.—William Shakespeare, The Tragedy(悲剧:灾难:惨案) of Titu ...
- Javascript DOM编程艺术
Chapter 0 为什么读这本书?作为js入门书,补基础,由于本书代码demo较简单,并没有贴代码,只记录一些自己要注意的知识点以及代码脚本 Chapter 1: javascript简史 DOM全 ...
- 良好的JavaScript编码风格(语法规则)
编码风格 1.概述 "编程风格"(programming style)指的是编写代码的样式规则.不同的程序员,往往有不同的编程风格. 有人说,编译器的规范叫做"语法规则& ...
- Javascript 高级程序设计--总结【四】
******************************* Chapter 11 DOM扩展 ******************************* 主要的扩展是 选择符API 和 H ...
- JavaScript 的基本语法
说明:此类博客来自以下链接,对原内容做了标注重点知识,此处仅供自己学习参考! 来源:https://wangdoc.com/javascript/basic/introduction.html 1. ...
随机推荐
- tag subshader shaderlab
unity的黑科技 https://docs.unity3d.com/Manual/SL-SubShaderTags.html 这里 reflectCamera.RenderWithShader(re ...
- Newtonsoft.Json.4.5.11使用方法总结---反序列化json字符串
写在开头: 最近项目需求,需要在C#中处理json字符串,毫不犹豫的下载了Newtonsoft.Json 4.5.11(2012.12.17)http://json.codeplex.com/,然后百 ...
- java实现 tf-idf
1.前言 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术.TF意思是词频(Term Frequency), ...
- 【架构】Nginx如何设置X-Request-ID请求头,记录请求时间:毫秒?
Nginx is awesome, but it’s missing some common features. For instance, a common thing to add to acce ...
- 【转】The && and || Operator in JavaScript
原文: https://blog.mariusschulz.com/2016/05/25/the-andand-and-operator-in-javascript The && an ...
- mysql时间字段转换为毫秒格式
下面是转载的关于MySQL毫秒.微秒精度时间处理的两段篇章,留给自己和供大家参考~~ 一.MySQL 获得毫秒.微秒及对毫秒.微秒的处理 MySQL 较新的版本中(MySQL 6.0.5),也还没有产 ...
- 网页制作,网站制作中put和get的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
- Fireworks层与蒙版的概念和用法
添加热点也是可以嵌套的 切片工具将自动保存在网页图层,并且可以导出为图像 组合为蒙版就是让一部分图形显示的填充为一幅图片的东西,删除蒙版即可将其转换为一个普通的图层,否则还可以移动位置
- 利用U盘启动,全新安装Mac操作系统.
利用U盘启动,全新安装Mac操作系统. OS_X_Yosemite_DP7.dmg Install OS X Yosemite.dmg 简单制作 OS X Yosemite 10.10 正式版U盘US ...
- 算法笔记_081:蓝桥杯练习 算法提高 矩阵乘法(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最 ...