关于js的小知识
基本数据类型:Undefined, Null, Boolean, Number, String 。
引用数据类型:Object 。
个人觉得对Java等语言的程序员来说,最不能接受的就是下面这样的代码:
var num = 2;
console.log(num.toPrecision(2)); //这不就是 2.func() 吗。。
实际上,js会将2自动包装成Number类型,类似于Java的自动将int包装成Integer,所以 num 可以直接调用包装类型的方法。
问题来了:既然此处的num是Number类型,而我们又知道js的prototype,那使用num给Number添加方法和属性又会怎样?
事实告诉我们,这样添加的方法和属性仅限于当前对象使用,对其他对象无效!
可以这么认为:js在当前变量范围内创建了一个类型,过期失效。
js的全局属性:
Infinity
NaN
undefined
null
js的全局方法:
eval(),
isFinite()
isNaN()
parseFloat()
parseInt
encodeURI
encodeURIComponent
decodeURI
decodeURIComponent
参考:
http://www.cnblogs.com/susufufu/p/5853342.html
关于js的小知识的更多相关文章
- js中级小知识1
首先我们复习之前的小知识,本期博客与之前有关 js数据类型 基本数据类型:string undefined null boolean numbe ...
- js中级小知识5
元素的属性 div.attributes是所有标签属性构成的数据集合 div.classList是所有class名构成的数组集合 在classList的原型链上可以看到add()和remove() 1 ...
- js中级小知识4
1.针对表单 form input select textarea type="radio/checkbox/passdord/button/submit/reset/ ...
- js中级小知识2
1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差.所以作者就收到java和c的影响,往面向对象靠齐.js天生有一个Objec ...
- js中级小知识
1.作用域链 作用域:浏览器给js的一个生存环境(栈内存). 作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...
- js的小知识7
1.函数都有返回值...... 而方法的本质也是函数,所有也有返回值. Document.getElementById()返回的是获取的标签 getElementByClassName()和getEl ...
- JS零碎小知识
filter()方法对数组进行过滤,生成新数组 var aqiNewData = aqiData.filter(function(data){ return data[1]>60; }); // ...
- js 简单小知识
1. javascript的typeof返回哪些数据类型: string, boolean, number, undefined, function, object 2. split() join() ...
- js中级小知识3
函数: 函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包.这就意味着函数调用完毕,这个函数形成的栈内存会被销毁. 有些时候我们不希望他被销毁. 函数归属谁跟它在哪调 ...
随机推荐
- hibernate中的saveOrUpdate()报错
最近使用hibernate保存数据的时候,没有使用id自增主键,而是使用了一种调用seq以后手动赋值的方式生成主键,然后使用saveorupdate()报错.上网查看终于知道了问题所在,记录一下: 在 ...
- 【转】【WebStorm】利用WebStorm来管理你的Github
用webstorm上传代码时,首先要先下载git,网址一搜就可以搜到,然后开始配置webstorm,打开webstorm,在file-settings中直接搜索github,然后输入自己github的 ...
- Swift 开发中,为什么要远离 Heap?
Swift 开发中,为什么要远离 Heap? WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack.所以大 ...
- 【Java工具方法】给集合按数量分组
有时候需要给集合(如List)按数量分组,比如全集太大时,需要分批处理:或效率有点低,分批并发处理.于是,写了个将List按数量分组的方法. package controller; import ja ...
- ubuntu 解压命令
ubuntu解压命令.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————. ...
- C++用new来创建对象和非new来创建对象的区别
转:http://www.cnblogs.com/GODYCA/archive/2013/01/10/2854777.html 我们都知道C++中有三种创建对象的方法,如下: #include < ...
- LeetCode: Binary Tree Inorder Traversal 解题报告
Binary Tree Inorder Traversal Given a binary tree, return the inorder traversal of its nodes' values ...
- ARKit从入门到精通(8)-ARKit捕捉平地
转载:http://blog.csdn.net/hdfqq188816190/article/details/73360287 1.1-ARKit捕捉平地实现流程介绍 1.2-完整代码 1.3-代码下 ...
- 地籍测绘成图软件南方cass9.0支持AutoCad2010【安装文件和视频教程】
一.背景 不管你是不是,反正我是,我特别喜欢新的事物,就像软件的更新,南方Cass现在到了9.0而且支持现在的AutoCAD2010,难得的好东东!(因为我用的就是cad2010) 我随然是搞施工的, ...
- [Linux基础环境/软件]Linux下安装mysql
我是使用免安装的包mysql-5.5.28-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/downloads/可以下载到最新的包)的.直接解压,然后配置,初 ...