在JavaScript-CreateJS中实现文本转大写的方法求助
解决CreateJS Text文本转大写的问题
你之前的写法错误在于:
- 第一种写法:
new cjs.Text(...)返回的是CreateJS Text对象,不是字符串。直接调用.toUpperCase()会把这个对象转换成"[object Object]"这类无效字符串,赋值后自然看不到正确文本。 - 第二种写法:若
this.harmonicField未初始化就调用.toUpperCase()会直接报错;即便已初始化,对Text对象调用该方法同样会把对象转成无效字符串。
正确的两种实现方式:
方式1:先把原始字符串转大写再传入构造函数
this.harmonicField = new cjs.Text("test text tuu".toUpperCase(), "24px 'Fort Medium'", "#FFFFFF");
方式2:创建Text对象后,修改其text属性为大写
// 先创建Text对象 this.harmonicField = new cjs.Text("test text tuu", "24px 'Fort Medium'", "#FFFFFF"); // 对text属性的字符串值转大写 this.harmonicField.text = this.harmonicField.text.toUpperCase();
核心逻辑:CreateJS的Text对象是通过text属性存储字符串内容的,我们需要对这个字符串值调用.toUpperCase(),而非对整个Text对象调用。
内容的提问来源于stack exchange,提问作者Alfista
相关产品推荐
相关产品推荐

