8. 工具 -- Highway MVVM

本文介绍了一个名为Highway的框架内置的各种实用工具函数,包括获取唯一标识、拓展对象、检查数组元素、验证对象类型等。这些工具函数能够简化前端开发任务并提升开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Highway内置工具函数,可通过Highway.utils引用

8-1. unique

获取唯一标识

<!-- examples/tools/unique.html -->

const id0 = Highway.utils.unique();
const id1 = Highway.utils.unique('c');
alert(`${id0}, ${id1}`);

8-2. assign

拓展对象

<!-- examples/tools/assign.html -->

const obj0 = {
  a: 'a',
  b: 'b'
};
const obj1 = {
  a: 'aa',
  c: 'c'
};

const obj2 = Highway.utils.assign({}, obj0, obj1);
alert(JSON.stringify(obj2));

8-3. include

返回数组中指定数据下标,如未找到,返回 -1

<!-- examples/tools/include.html -->

const arr = [1, 2, 3, 4];
const idx0 = Highway.utils.include(arr, 5);
const idx1 = Highway.utils.include(arr, 2);
alert(`${idx0},${idx1}`);

8-4. isPlainObject

是否为原生Object对象

<!-- examples/tools/isPlainObject.html -->

alert(Highway.utils.isPlainObject({a: 'a'})); // true
alert(Highway.utils.isPlainObject([0, 1])); // false

8-5. isDate

是否为日期

<!-- examples/tools/isDate.html -->

alert(Highway.utils.isDate({})); // false
alert(Highway.utils.isDate(new Date)); // true

8-6. isObject

是否为对象

<!-- examples/tools/isObject.html -->

alert(Highway.utils.isObject({})); // true
alert(Highway.utils.isObject(new Date)); // true
alert(Highway.utils.isObject(function () {})); // true
alert(Highway.utils.isObject(1)); // false

8-7. isNumeric

是否为数字

<!-- examples/tools/isNumeric.html -->

alert(Highway.utils.isNumeric(1)); // true
alert(Highway.utils.isDate({})); // false

8-8. isTrue

是否为boolean true

<!-- examples/tools/isTrue.html -->

alert(Highway.utils.isTrue(true)); // true
alert(Highway.utils.isTrue('false')); // false
alert(Highway.utils.isTrue('1')); // true

false、’false’、”、’0’、null、undefined、0均被判断为boolean false,其他均被判断为true

8-9. MapList

映射列表

  • add(key, value)
  • find(key, value)
  • remove(key, value)
  • clear()
  • keys()
  • values()
<!-- examples/tools/MapList.html -->

const mapList = new Highway.utils.MapList;
mapList.add('a', '0');
mapList.add('a', '1');
mapList.add('a', '2');
console.dir(mapList.find('a')); // ['0', '1', '2']

mapList.remove('a', '1');
console.dir(mapList.find('a')); // ['0', '2']

mapList.add('b', '2');
console.dir(mapList.keys()); // ['a', 'b']

console.dir(mapList.values()); // ['0', '2', '2']

mapList.clear();

8-10. secureHtml

安全HTML编码

““

console.log(Highway.utils.secureHtml(‘

8-10. secureUri

安全URI编码

<!-- examples/tools/secureUri.html -->

// http://uri?q=11&amp;&lt;script&gt;alert(1)
console.log(Highway.utils.secureHtml('http://uri?q=11&<script>alert(1)')); 

8-11. getAttrs

获取DOM元素所有属性

<div id="attr" directive-0:attr="exp" style="backgrond-color:red;"></div>

//{"id":"attr","directive-0:attr":"exp","style":"backgrond-color:red;"}
console.dir(Highway.utils.getAttrs($('#attr')));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值