分享Javascript实用方法二


Posted in Javascript onDecember 13, 2015

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

承接上一篇,

Object

keys

object的keys方法能够获取一个给定对象的所有键(key/属性名)并以数组的形式返回。这个方法可以用于键的筛选、匹配等。

var basket = {
strawberry: 12,
banana: 20,
apple: 30,
juice: 20
};
console.log(Object.keys(basket)); 
//[ 'strawberry', 'banana', 'apple', 'juice' ]

create

create方法用于创建一个新的对象,可选参数(proto, [ propertiesObject ]),第一个为原型,比如Array.prototype之类的,第二个为需要给新建对象的一些新属性之类的,这个参数对象的属性名将是新建对象的属性,值则是属性描述符(value、writable、configurable等)。

var o = Object.create({}, {p: {value: 42}});
var O = Object.create({}, {p: {value: 66, writable: true, enumerable: true}});
console.log(o.p); //42
console.log(O.p); //66
o.p = 20;
O.p = 80;
console.log(o.p); //42
console.log(O.p); //80

属性描述符中writable默认为false,因此o.p即便在后来重新赋值也是不能改变其值的,而O.p则能够在后来改变值,此外,create方法proto必须传入相应参数,否则会报错TypeError,当然以上代码在严格模式下也会报错,因为o.p被重写- -

assign

assign方法,es6的新特性,支持传参(target, …sources),用于将任意多个源对象的键值对添加的目标对象,类似于lodash的assign和underscore的extendOwn方法。

var boy = {handsome: true, rich: true}, girl = {cute: true, hair: 'long'};
var couples = Object.assign({}, boy, girl);
console.log(couples); //{ handsome: true, rich: true, cute: true, hair: 'long' }

assign方法常用于框架层面的数据处理,比如你定义了一个client用于发送HTTP请求,使用的时候获取接受到的参数之外自己可能得加上什么默认的属性。

Number

isNaN

Number的isNaN方法用来判断传入值是否是NaN的值,与全局的isNaN方法不同的是它不会强制将传入参数转化为数字类型,只有在参数是真正的数字类型,且值为 NaN 的时候才会返回 true。不过就自己而言全局的isNaN用的多一点,就用来判断字符串是不是只包含数字,

console.log(isNaN('123f')); //true
console.log(isNaN('123')); //true

此外,isFinite(value)方法用于判断传入参数是否是有穷数,isInteger(value)方法用于判断传入参数是否是整数。

toFixed

toFixed方法用来将数字转化为特定的字符串,支持传入参数(digits),0 < digits <= 20,在转换的时候会自动进行四舍五入以及0补充。

var cool = 666.666;
console.log(cool.toFixed(1)); //666.7
console.log(cool.toFixed(6)); //666.666000

这段时间发生了很多事情,从待了116天的杭州来到北京,开始一段新的工作与生活。不舍、惆怅、激动、兴奋等情绪交织缠绵…七匹狼,认识了其余六狼,很珍惜这段大家一起努力一起嗨皮的日子,尤记得夜爬宝石山,俯瞰西湖,English poor,哈哈哈…

ps:javascript split() 定义和用法

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)

参数 描述
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
Javascript 相关文章推荐
jQuery 表单验证扩展代码(二)
Oct 20 Javascript
JavaScript实现自己的DOM选择器原理及代码
Mar 04 Javascript
jquery插件推荐浏览器嗅探userAgent
Nov 09 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
Nov 06 Javascript
BootStrap和jQuery相结合实现可编辑表格
Apr 21 Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 Javascript
详解VUE 数组更新
Dec 16 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
详解Angular cli配置过程记录
Nov 07 Javascript
解决vue scoped scss 无效的问题
Sep 04 Javascript
CocosCreator如何实现划过的位置显示纹理
Apr 14 Javascript
JavaScript判断按钮被点击的方法
Dec 13 #Javascript
jquery插件uploadify实现带进度条的文件批量上传
Dec 13 #Javascript
JavaScript代码判断点击第几个按钮
Dec 13 #Javascript
JavaScript模块化开发之SeaJS
Dec 13 #Javascript
node.js require() 源码解读
Dec 13 #Javascript
JavaScript 模块的循环加载实现方法
Dec 13 #Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 #Javascript
You might like
php一个解析字符串排列数组的方法
2015/05/12 PHP
php时间函数用法分析
2016/05/28 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
2017/09/30 PHP
Node.js实现简单聊天服务器
2014/06/20 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
vue组件间通信解析
2017/03/01 Javascript
vue.js中created方法作用
2018/03/30 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
numpy下的flatten()函数用法详解
2019/05/27 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
tensorflow实现残差网络方式(mnist数据集)
2020/05/26 Python
python属于软件吗
2020/06/18 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
python 多线程中join()的作用
2020/10/29 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
html5绘制时钟动画
2014/12/15 HTML / CSS
通过HTML5规范搞定i、em、b、strong元素的区别
2017/03/04 HTML / CSS
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
Erwin Müller穆勒家居瑞士官网:您整个家庭的邮购公司
2019/12/28 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
婚前财产公证书
2014/04/10 职场文书
车辆工程专业求职信
2014/04/28 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js