分享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折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
Jan 22 Javascript
Chrome Form多次提交表单问题的解决方法
May 09 Javascript
js精度溢出解决方案
Dec 02 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 Javascript
JS与C#编码解码
Dec 03 Javascript
jQuery插件开发的五种形态小结
Mar 04 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
js实现简单的选项卡效果
Feb 23 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 Javascript
基于vue实现图片验证码倒计时60s功能
Dec 10 Javascript
Vue 禁用浏览器的前进后退操作
Sep 04 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
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php 使用redis锁限制并发访问类示例
2016/11/02 PHP
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
利用Angularjs和bootstrap实现购物车功能
2016/08/31 Javascript
微信小程序 数组中的push与concat的区别
2017/01/05 Javascript
深入理解JavaScript中的尾调用(Tail Call)
2017/02/07 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python中isnumeric()方法的使用简介
2015/05/19 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
对python3新增的byte类型详解
2018/12/04 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
python+opencv实现车道线检测
2021/02/19 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
学校安全检查制度
2014/01/27 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
取保候审保证书
2014/04/30 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
教师先进个人材料
2014/12/17 职场文书
公司财务部岗位职责
2015/04/14 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS