js中use或者using方法

看Vue.use方法,想起了以前工作中别人用过的use方法。

var YANMethod = {
    using:function() {
        var a = arguments, o = this, i = 0, j, d, arg, isExist;
        arg = a[0], isExist = a[1];
        if (arg && arg.indexOf('.')) {
            d = arg.split('.');
            for (j = (d[0] == 'YAN') ? 1 : 0; j < d.length; j++) {
                if(!o[d[j]] && isExist) return null;
                o[d[j]] = o[d[j]] || {};
                o = o[d[j]];
            }
        } else {
            o[arg] = o[arg] || {};
        }
        return o;
    },
    /*--
        用新Cookie方法,但是兼容老的东西
        -ver 2014-04-22
    */
    cookie:function(name, value, options) {
        if(typeof value==='undefined'){
            return Cookie.get(name);
        }
        if(options){
            options.exp = typeof options.expires==='number' ? options.expires * 24 :
                options.expires; //原来的cookie是按天算的
        }
        Cookie.set(name, value, options);
    },
    
    /**
     *JSON序列化,如果传入的是字符串则反序列化为对象;若传入的是对象则反序列化为字符串
     */
    json:function(value){
        if(typeof value==="string"){
            return this.jsontoObject(value);
        }else{
            return this.jsontoJSON(value);
        }
    },
    jsontoJSON:function(object){
        var type = typeof object;
        if ('object' == type) {
            if (Array == object.constructor) type = 'array';
            else if (RegExp == object.constructor) type = 'regexp';
            else type = 'object';
        }
        switch (type) {
            case 'undefined':
            case 'unknown':
                return;
            break;
            case 'function':
            case 'boolean':
            case 'regexp':
                return object.toString();
            break;
            case 'number':
                return isFinite(object) ? object.toString() : 'null';
            break;
            case 'string':
                return '"' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function() {
                    var a = arguments[0];
                    return (a == '\n') ? '\\n': (a == '\r') ? '\\r': (a == '\t') ? '\\t': ""
                }) + '"';
            break;
            case 'object':
                if (object === null) 
                    return 'null';
                var results = [];
                for (var property in object) {
                    var value = this.jsontoJSON(object[property]);
                    if (value !== undefined) 
                        results.push(this.jsontoJSON(property) + ':' + value);
                }
                return '{' + results.join(',') + '}';
            break;
            case 'array':
                var results = [];
                for (var i = 0; i < object.length; i++) {
                    var value = this.jsontoJSON(object[i]);
                    if (value !== undefined) 
                        results.push(value);
                }
                return '[' + results.join(',') + ']';
            break;
        }
    },
    
    jsontoObject:function(strjson){
        return eval("(" + strjson + ")");
    }
};
var addFunToYAN = function(functionName,func){
    if(typeof(func) == 'function')
        YAN[functionName] = func;
};
for(var m in YANMethod){
    if(typeof(YAN[m]) == 'undefined'){
        addFunToYAN(m,YANMethod[m]);
    }
}
$.extend(YAN.using("Plugin"),{

});
$.extend(YAN.using("Utils"),{
    getQuery:function(name){
          var paramList = location.search.replace("?","").split("&");
          for(var i = 0 ; i < paramList.length ; i++)
          {
              if(paramList[i].split("=")[0] == name){
                  return paramList[i].substring(paramList[i].indexOf("=") + 1,paramList[i].length);
              }
          }
          return null;
    }
});
var Plugin = YAN.using('Plugin');

Plugin.AD = ad;
Plugin.AD.getFlashAd();

window.AD || (window.AD = YAN.using('Plugin').AD);

Vue.use()

http://www.cnblogs.com/dupd/p/6716386.html

转载于:https://www.cnblogs.com/coding4/p/7510867.html

前端必知必会-JavaScript Use Strict严格模式 本文介绍了JavaScript Use Strict严格模式的使用,如有问题欢迎私信和评论。 阅读详情

相关推荐

不止是回退SDK:深入解读UE5.2编译时那个烦人的C4756警告与INFINITY宏的变迁

本文深入解析了UE5.2源码编译时出现的C4756警告及其背后的技术原因,探讨了Windows SDK中INFINITY宏的变迁对Unreal Engine的影响。文章详细介绍了微软修改INFINITY定义的技术考量,并提供了UE5.2应对此类问题的灵活解决方案,包括通过BuildConfiguration.xml文件精确控制工具链版本,确保构建系统的可重复性和可配置性。

weixin_27180827的博客 310

nodejs中.use()的用法(坑)

一开始看教程视频的时候,上面只是简单地说.get()是处理get请求,.post()处理post请求 而.use()是可以处理get和post 然而,我写了两个接口,一个是/user/detail,一个是/user,发现,前面/user会把/user/detail给覆盖掉 然后你访问user/detail的时候,响应的是/user 什么时候用.use() 要使用中间件的时候,比如添加过滤...

LINYONGBIN 8244

SPSS新手教程—两步聚类之结果解读

在《详解SPSS两步聚类之参数设置》一文中,我们已经了解了两步聚类的优点、分析原理,以及参数设置的技巧。 在本节中,会对IBM SPSS Statistics聚类后的结果进行解读,其中会涉及到最终聚类的结果、聚类的质量、变量重要性、聚类特征的解读。 如图1所示,我们先来回顾下本例数据在参数设置面板中的详细设置。 图1:二阶聚类设置 一、数值结果 根据上述参数设置,得到如下的数值分析结果。 首先看到自动聚类结果,如图2所示为聚类的透视表结果,展示了不同聚类数目下的BIC、BIC变化量、BIC变

nekonekoboom的博客 3万+

nodejs中.use()的用法

use 安装中间件、路由、接受一个函数 server.use([地址],中间件|路由|函数体) 中间件 middleware, 处理自定义业务,只处理请求到结束响应的中间部分 举例 npm i body-parser -S //安装包 let bodyParser=require('body-parser')//引入中间件 server.use(bodyParser())//安装中间件 bo...

Makta 3604

拆解一个800G光模块:手把手带你认识里面的MT插芯和光纤阵列(FA)

本文详细拆解了800G光模块中的关键组件MT插芯和光纤阵列(FA),揭示了并行光学技术如何实现高速数据传输。通过显微镜下的精密观察,展示了MT插芯的高精度构造和光纤阵列的连接奥秘,同时解析了高精度研磨工艺对光信号传输的重要性。这些微型组件是高速收发模块实现800Gbps带宽的核心技术。

weixin_30839881的博客 1539

从时序博弈到数据稳定:CS1237驱动中的信号滤波与卡尔曼实践

本文探讨了CS1237高精度ADC驱动在复杂工业环境中的信号处理挑战,重点介绍了一阶滤波与自适应卡尔曼滤波算法的实践应用。通过参数优化和动态调整策略,有效提升了数据稳定性和抗干扰能力,为嵌入式系统在噪声环境下的精密测量提供了可靠解决方案。

rnn9storyteller的博客 862

js函数作参数

参照以下例子 例1: function add(a, b) { console.log( a + b); } function subtract(a, b) { console.log( a - b); } function getStr() { console.log('hello') } // 函数作参数传递,函数的参数以数组形式传 function use(f...

xiaobaige6084的博客 390

从Frenet坐标系到多项式拟合:Lattice Planner核心原理拆解与调参指南

本文深入解析了自动驾驶轨迹规划中Lattice Planner的核心原理,重点阐述了其在Frenet坐标系下解耦横纵向规划、利用五次和四次多项式拟合轨迹的数学基础。文章提供了从坐标系转换、采样策略到成本函数设计的完整工程实践指南,并分享了关键的参数调优经验,旨在帮助开发者高效实现稳定、平滑且安全的轨迹规划。

tech5的博客 1111

闭包函数中use使用

匿名函数中的use,其作用就是从父作用域继承变量。 下例是最常见的用法,如果不使用use,函数中将找不到变量$msg。12345678&lt;?php$msg = [1,2,3];$func = function()use($msg){    print_r($msg);};   $func();?&gt;运行输出123456Array(    [0] =&gt; 1    [1] =&gt; 2...

往之不谏 来者可追 1147

Ascend开发包Acllite安装

设置环境变量,配置程序编译依赖的头文件,库文件路径。“$HOME/Ascend”请替换“Ascend-cann-toolkit”包的实际安装路径。将YOLOV7原始模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。运行完成后,会在样例工程的out目录下生成推理后的图片,显示对比结果如下所示。可以使用以下两种方式下载,请选择其中一种进行源码准备。请从以下链接获取该样例的输入图片,放在data目录下。执行以下命令,执行编译脚本,开始样例编译。执行运行脚本,开始样例运行。

如果想成为中心,那么就到中心去吧。 316

突破边缘AI算力瓶颈:YOLOv12模型剪枝与知识蒸馏联合优化全攻略

这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。

m0_71589036的博客 218

学习笔记——SVG.js中的use和marker元素的相关方法

SVG.js中的use和marker元素的相关方法。 use元素:use() marker元素:marker()、width()、height()、size()、update()、orient()

qq_41339126的博客 1251

QT里获取UUID当做唯一文件名称

QT里获取UUID当做唯一文件名称

538

如何在js中调用layui.use()内部的方法

使用layui时,可能会出现一个问题,就是在layui.use()内部的方法依赖于layui的模块,但是当外部js调用layui.use()内部的方法时,会出现无法调用的情况,如何在外部js中调用layui.use()里的方法呢。 思想:layui.use()本质是一个layui的function方法,这样写在其内部的function就是其内部的方法,外部自然无法调用,那么问题本质是:如何使用在function内部的function方法呢,这种问题自然就好解决的多!透过事物的现象看本质,emm,哲学道理!

hunt_er的博客 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

在 Kata Containers 中加载内核模块(Kernel Modules)完整指南

Kata Containers 允许你在创建沙箱(sandbox)时,通过配置文件或 OCI 注解将指定的内核模块动态加载进 guest VM 的内核,从而为容器化应用提供内置内核未包含的额外内核功能。本文将基于仓库中 [docs/how-to/how-to-load-kernel-modules-with-kata.md](https://link.gitcode.com/i/0bd9ce596

gitblog_00247的博客 657

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Vue.use()的用法详解

相信很多人在用 Vue 使用别人的组件时,会在在main.js中用到 Vue.use(xx) 。例如:Vue.use(VueRouter)、Vue.use(MintUI)、Vue.use(ElementUI)。

青春木鱼的博客 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

js考古之seajs.use、layui.use是啥 以及来源?

Seajs是先行者,在浏览器原生不支持模块化的黑暗年代,发明了 seajs.use 来实现按需加载。Layui是实用主义者,它借用了这种模块化思想,用 layui.use 把 UI 组件管理得井井有条,成为了 jQuery 时代的绝唱。是终结者,它作为官方标准,吸收了前辈们的经验,配合现代打包工具,提供了最强悍的性能和开发体验。当你下次再看到 seajs.use 或 layui.use 时,请对它们保持敬意。因为正是这些“老古董”,为今天现代前端的摩天大楼,铺下了第一块基石。

weixin_52236586的博客 589

layui.use模块内定义可被使用的js方法

想要在layui.use()外部使用layui.use()内部方法的解决方案 需求:在layui.use()模块外部,调用layui.use()内部的方法。 在layui.use()外部自定义function(),无法调用layui.use()模块内部的方法,所以直接在layui.use()模块中,定义可以被访问的外部方法即可。 在layui.use()内部定义function,不起效果,报错 <input type="text" id="id" onkeydown="enterDown(even

WANG_LEI222的博客 1561

如何在layui.use()外部调用layui中定义的方法

layui第一步第二步第三部layui.use()中调用外部调用 第一步 页面中引入layui.all.js <script src="/static/layui/layui.all.js" charset="utf-8"></script> 第二步 // 暴露方法 layui.define(['layer', 'table'], function (exports) ...

weixin_40530724的博客 2万+

app.use()方法详解

这里说的app,是指express对象 var express = require(‘express’); var app = express(); 其中,app.use是express“调用中间件的方法”。所谓“中间件(middleware),就是处理HTTP请求的函数,用来完成各种特定的任务,比如检查用户是否登录、分析数据、以及其他在需要最终将数据发送给用户之前完成的任务。”。这是阮一峰文章的原话。 简而言之,app.use() 里面使用的参数,主要是函数。但这个使用,并不是函数调用,而是使能的意思。当

mangguom23的博客 2万+

深入理解 Vue.use() 方法

Vue.use()是 Vue.js 提供的一个全局方法,用于安装 Vue 插件。插件可以是一个函数或对象,通常用于扩展 Vue 的功能,比如添加全局组件、指令、过滤器等。在很多情况下,使用插件可以大大提高开发效率和代码复用性。Vue.use()方法为 Vue 提供了强大的插件支持,使你能够灵活地扩展框架的功能。通过合理使用插件,你能大大提高项目的可维护性和代码的复用性。在开发过程中,了解并掌握Vue.use()的用法,无疑会让你的 Vue 开发之路更加顺畅。

承蒙关照! 4517

layui外部引入_layui use 定义js外部引用函数的方法

layui.use 加载layui.define 定义的模块,当外部js或 onclick调用 use 内部函数时,需要在 use 中定义 window 函数供外部引用 ,如下:layui.use(['layer','form'],function(){var layer = layui.layer,form = layer.form();var Test = function(){//不能被...

weixin_39548490的博客 4791

vue项目main.js使用方法

第一部分:main.js文件解析 src/main.js是入口文件,主要作用是初始化vue实例并使用需要的插件 在main.js文件中定义了一个vue对象,其中el为实例提供挂载元素 //基础配置 import Vue from 'vue' import App from './App.vue' //引入已经配置好的路由和vuex import router from './router' import store from './store/store' // 导入less(样式的导入例子,cs

m0_62823653的博客 2万+

请说说Vue.use方法的作用及原理

Vue.use()方法是Vue.js中用于安装Vue插件的全局方法。它的作用主要是将插件注册到Vue中,使得插件的功能可以在Vue应用中使用。Vue.use()的原理涉及插件的安装、初始化和全局功能的注入。

王铁柱666的博客 594

vue.use() 的作用详解

官方解释: Vue.use( plugin ) 参数: {Object | Function} plugin 用法: 安装 Vue.js 插件。如果插件是一个对象,必须提供install方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入。 该方法需要在调用new Vue()之前被调用。 当 install 方法被同一个插件多次调用,插件将只会被安装一次。 Vue.use()什么时候使用? 它在使用时...

冰雪为融的博客 1万+

javascript文档_用javascript print js打印文档的最简单方法

javascript文档A teeny-tiny javascript library that made printing from the web incredibly simple.一个很小的javascript库,使从网络打印变得异常简单。 Photo by Florian Klauer on Unsplash Florian Klauer在Unsplash上拍摄的照片Print.js w...

weixin_26748899的博客 2586
上一篇: vux的x-input的源码分析
下一篇: kissy框架
de1981
博客等级 码龄12年 8粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值