ntv.js框架源码解读 - 1common.js和2core.js

2023-12-12 13:10

本文主要是介绍ntv.js框架源码解读 - 1common.js和2core.js,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1common.js源代码:

全局 $ 对象,类似于jQuery框架的命名形式,用于缩短函数名,精简代码。此文件只包含提供全局作用域的常用对象。

var $ = function(selector){};   // Id选择器的函数封装。调用$("#Id"),$("TagName")

$.ajax = function(o){};           // aJax功能的函数封装。调用$.ajax({type: POST, url: "...", data: {...}});

  

2core.js源代码:

全局 ntv 对象,包含2个部分,日志调试类和浏览器平台信息检测类。

var ntv = ntv || {};   // 每个ntv模块文件头都采用此方式来扩展对象。此方式表示如果上下文已存在ntv对象就返回已存在的ntv对象,如果不存在就创建一个空对象。这样的方式也不依赖于将一个对象写入多个文件在页面引用的前后顺序。


ntv.log类,调试模式的日志输出实现及调试模式的开启与关闭。

ntv.log.debug = boolean;             // 是否开启调试模式。

ntv.log.console = function(str){};  // 输出日志。调用 ntv.log.console("调试信息");

ntv.log.filter = function(str){};      // 日志信息过滤类。

       你可以在引用了本文件之后的任意地方使用 ntv.log.console("调试信息"); 来在页面上输出调试信息。

      但是需要注意,框架内置了一些调试信息输出,为了区别框架内置与开发自定义的日志输出,框架通过设置filter的key来过滤输出到页面的信息。框架内置的日志默认不输出在页面,如果需要调试框架内特点功能时,可以通过修改ntv.log.filter函数内的开关来显示特定功能的日志信息,例如启用 "ntv.key"开头的对象函数日志输出,在调试机顶盒键值时,页面将输出框架内置键值处理的函数信息。

       注意事项:

        1. 因为框架默认过滤日志信息,所以你在输出自定义的调试信息时,请不要使用 "ntv.**" 形式的字符串。

        2. 调试信息的显示只支持一屏,不支持自动滚动。所以在调试时尽量精简输出条数。


ntv.profile类

      用来检测当前页面运行的平台及中间件浏览器所使用的中间件规范标准。当开启调试模式时,这些信息默认将显示。


调试模式效果:

104623_8Pyf_214583.jpg



转载于:https://my.oschina.net/cotonchen/blog/375150

这篇关于ntv.js框架源码解读 - 1common.js和2core.js的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/484761

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

Java ArrayList扩容机制 (源码解读)

结论:初始长度为10,若所需长度小于1.5倍原长度,则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义         1:数组默认长度         2:这是一个共享的空数组实例,用于明确创建长度为0时的ArrayList ,比如通过 new ArrayList<>(0),ArrayList 内部的数组 elementData 会指向这个 EMPTY_EL

如何在Visual Studio中调试.NET源码

今天偶然在看别人代码时,发现在他的代码里使用了Any判断List<T>是否为空。 我一般的做法是先判断是否为null,再判断Count。 看了一下Count的源码如下: 1 [__DynamicallyInvokable]2 public int Count3 {4 [__DynamicallyInvokable]5 get

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF