简单的做一个颜色进制转换

以蓝色为例,#0000FF应该被表示成rgb(0,0,255)。

我们将函数命名为getRGB()

(可以将字符串视为数组,这个数组的元素为字符)

function getRGB(color) {
  var rgb = [parseInt('0x'+color.slice(1,3)),parseInt('0x'+color.slice(3,5)),parseInt('0x'+color.slice(5,7))];
  return "rgb(" + rgb[0] + ","  + rgb[1] + "," +rgb[2] +")" ;       
}

在控制台中,我们发现:当我们缩写16进制颜色的时候,就会出现NaN;

(这个例子我练习了之前学到的数组的slice方法)

我们可以试试这样

        var getRGB = function(oRgb) {
            var color = [],
                rgb   = [];
            oRgb = oRgb.replace(/#/, "");
            if (oRgb.length == 3) {
                var tmp = [];
                for (var i = 0; i < 3; i++) {
                    tmp.push(oRgb.charAt(i) + oRgb.charAt(i));
                }
                oRgb = tmp.join("");
            }
            for (var i = 0; i < 3; i++) {
                color[i] = "0x" + oRgb.substr(i + 2, 2);
                rgb.push(parseInt(Number(color[i])));
            }
            return "rgb(" +  rgb.join(",") + ")";
        }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏代码世界

前端之JavaScript内容

一、JavaScript概述 1、JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEn...

3617
来自专栏陈满iOS

iOS基础·属性的修饰词与setter的关系

可以自己手动为实例变量在头文件 中声明setter、getter方法,并在实现文件中实现setter、getter方法。你也可以不声明不实现,但不要再企图调用s...

1212
来自专栏Java与Android技术栈

Java8 Stream的总结

Stream是Java 8新增的接口,Stream可以认为是一个高级版本的 Iterator。它代表着数据流,流中的数据元素的数量可以是有限的,也可以是无限的。

892
来自专栏GreenLeaves

JS框架设计之对象类型判断一种子模块

Javascript有两套数据类型,一套是基础数据类型,一套是对象数据类型。基础数据类型包括5种基本数据类型,分别是null,bool,undefined,nu...

1948
来自专栏石奈子的Java之路

原 荐 你真的了解For循环吗?一道For循

1743
来自专栏技术小讲堂

ASP.NET AJAX(5)__JavaScript原生类型以及Microsoft AJAX Library什么是Microsoft AJAX LibraryObject原生类型Object.pro

什么是Microsoft AJAX Library ASP.NET AJAX的客户端部分 纯客户端框架 提供了JavaScript扩展和基础类库 Object原...

3327
来自专栏架构师小秘圈

你真的了解For循环吗?一道For循环Java面试题引发的思考

一,疑问 最近群友抛出了一个面试题,就是下图中的第二题,是关于一个for循环的执行结果的问题,他的代码的执行结果是什么呢? ? 二,代码复现 下面的例子和面试...

2786
来自专栏IMWeb前端团队

看Zepto如何实现增删改查DOM

本文作者:IMWeb 谦龙 原文出处:IMWeb社区 未经同意,禁止转载 前言 dom也就是文档对象模型,是针对HTML和XML的一个api,描绘了...

2819
来自专栏陈树义

大白话说Java泛型:入门、使用、原理

远在 JDK 1.4 版本的时候,那时候是没有泛型的概念的。当时 Java 程序员们写集合类的代码都是类似于下面这样: List list = new Arr...

3376
来自专栏進无尽的文章

Swift| 基础语法(四)

总结下 swift下的基础语法,里面涉及到:常量&变量、Swift中的数据类型、逻辑分支、循环、字符串相关、数组和字典、方法的书写调用等内容,考虑到阅读体验分多...

1181

扫码关注云+社区