Vue源码中9个可借鉴的基础方法

简介: 本文主要讲Vue源码中9个可借鉴的基础方法


1、基础判断


function isUndef(v) {
    return v === undefined || v === null
}
function isDef(v) {
    return v !== undefined && v !== null
}
function isTrue(v) {
    return v === true
}
function isFalse(v) {
    return v === false
}


2、检查是否是原始值


function isPrimitive(value) {
    return (
        typeof value === 'string' ||
        typeof value === 'number' ||
        // $flow-disable-line
        typeof value === 'symbol' ||
        typeof value === 'boolean'
    )
}


3、快速对象检查


function isObject(obj) {
    return obj !== null && typeof obj === 'object'
}
复制代码


4、获取值的原始类型字符串



var _toString = Object.prototype.toString;
function toRawType(value) {
    return _toString.call(value).slice(8, -1)
}


5、严格的对象类型检查


function isPlainObject(obj) {
    return _toString.call(obj) === '[object Object]'
}
// 这里大家可以思考一下为什么使用这种方式,还有下面的正则检查


6、严格的正则类型检查


function isRegExp(v) {
    return _toString.call(v) === '[object RegExp]'
}


7、检查是够是有效的数组下标


function isValidArrayIndex(val) {
    var n = parseFloat(String(val));
    return n >= 0 && Math.floor(n) === n && isFinite(val)
}


8、值转换为实际的字符串


function toString(val) {
    return val == null ?
        '' :
        Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) ?
        JSON.stringify(val, null, 2) :
        String(val)
}


9、值转换为数字以进行持久化


function toNumber(val) {
    var n = parseFloat(val);
    return isNaN(n) ? val : n
}
目录
相关文章
|
11天前
|
JavaScript
vue使用iconfont图标
vue使用iconfont图标
76 1
|
22天前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
2月前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
40 1
|
2月前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
38 1
|
2月前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
2月前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
1067 0
|
2月前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
52 1
vue学习第一章
|
2月前
|
JavaScript 前端开发 索引
vue学习第三章
欢迎来到瑞雨溪的博客,一名热爱JavaScript与Vue的大一学生。本文介绍了Vue中的v-bind指令,包括基本使用、动态绑定class及style等,希望能为你的前端学习之路提供帮助。持续关注,更多精彩内容即将呈现!🎉🎉🎉
49 1