在带有js项目开发中:
1 要属性新的js类库
2 了解某一个DOM对象的属性
要么翻看API,要么使用alert或者其他日志组件。alertObj就是这样的一个组件。
alertObj,是一个非常小的js方法,用来打印某一个对象的属性。
只要在你们工程的JS通用工具类里边(我想每个项目都应该会有吧)添加这个方法,就可以随时调用了,
优点就是小和方便,不想那么多打的日志组件,alertObj仅仅是一个方法,不需要任何页面元素的支持。
alertObj,将alert方法用到极致;alertObj传统而又不简单。
实例:
<html>
<script>
/*打印对象属性
只打印对象的直接属性,即第一层属性
如果对象属性个数大于15个,则每三个属性为一行,否则一个属性为一行
@JSON 支持JSON参数传递或者直接把对象作为参数传递
JSON可用参数:
@obj:打印的对象
@key:对象属性的过滤条件,模糊匹配(不区分大小写) 默认为空
@tab:每个属性前边的制表符号。默认为空
@title:题目,默认为对象属性
@showFun:是否显示方法体内容 默认为false
*/
var alertObj=function(JSON){
JSON = JSON||{};
if(!!JSON.obj===false){
JSON = {obj:JSON};
}
var aObj = JSON.obj||{};//打印对象
var key = JSON.key ||"";//属性名称过滤条件
var tab =JSON.tab ||"";//制表位
var title =JSON.title ||"对象属性";//题目
var showFun = JSON.showFun || false;//是否显示方法体内容 默认为false
//TODO 属性排序
var propertys = [];
for(var o in aObj){
//没有属性过滤条件,或者属性包含过滤条件。
if(!!key===false || (!!key===true && (o+"").toLowerCase().indexOf(key)>=0) ){
propertys.push(o);
}
}
propertys.sort();
var len = propertys.length;
var index = 1;
var max =20;//每次最多打印max个属性(受alert可显示空间限制)
var v = title+":\n";
for(var i in propertys){
var o = propertys[i];
if(typeof(aObj[o])!=="object" && typeof(aObj[o])!=="function" ){
v+=(tab+"-"+o+":"+aObj[o]+"\n");
}else if(typeof(aObj[o])=="function"){
if(showFun!=true){
v+=(tab+"+"+o+":[function]\n");
}else{
v+=(tab+"+"+o+":"+aObj[o]+"\n");
}
}else{
v+=(tab+"+"+o+":[object]\n");
}
if(index++%max==0){
alert(v);
//第二次打印将会追加编号
v = title+Math.ceil(index/max)+":\n"; ;//置空,从新累加
}
}
if(len%max!=0 || len==0){//打印最后一次 | len=0表示没有匹配的属性
alert(v);
}
//alert("len = "+len+",max ="+max+","+len%max);
}
function test(){
//打印dom对象
alertObj(window);
alertObj({obj:window,key:"load",title:"window带有load的属性"});
//构建js对象
var perosn = {Name:"abc",age:123,son:{Name:"xx",age:23,cry:function(){alert('妈妈,我要喝奶');}}};
//打印js对象
alertObj({obj:perosn,tab:"#",title:"person对象属性"});
alertObj({obj:perosn.son,title:"persond对象son属性的属性"});
alertObj({obj:perosn.son,title:"persond对象son属性的属性(显示方法体)",showFun:true});
}
</script>
<body>
<input type="button" value="test" onclick="test()" >
</body>
</html>
附件是效果图和实例。
- 大小: 147.5 KB
分享到:
相关推荐
此外,对于不支持的操作或文件类型,代码通过`alert`函数提供反馈信息,告知用户仅支持Word和Excel文件的打印预览功能。 #### 5. 端口替换与环境适应性 代码片段中的`href.indexOf("8080")!=-1||href.indexOf(...
VBScript与Visual Basic有着相似的语法结构,包括变量声明、常量定义、数据类型、运算符、流程控制语句等。例如,变量声明使用`Dim`关键字,如`Dim myVar`;常量定义使用`Const`,如`Const PI = 3.14`;数据类型包括...
在JScript中,还有几个重要的核心概念,包括变量(声明变量使用`var`关键字)、数据类型(包括基本类型:字符串、数字、布尔值,以及引用类型:对象、数组和函数)、控制结构(如条件语句if...else、循环for、while...
在JavaScript中,我们可以使用`document`对象来操作DOM。 2. **`getElementsByTagName()`**: 这个方法是用于查找HTML文档中所有具有指定标签名的元素。在这个例子中,我们用它来找到所有的`<script>`标签,因为它们...
7. 测试信息的打印:演示了如何在测试脚本中打印页面的标题、URL等信息。 8. 浏览器操作:如何使用Selenium控制浏览器的行为,包括最大化窗口、调整浏览器尺寸、前进和后退等。 9. 操作测试对象:涵盖鼠标点击、...
JavaScript 是一种广泛用于网页和网络应用的脚本语言,尤其在前端开发中扮演着核心角色。本文档是作者在学习过程中整理的JavaScript基础知识,涵盖了多个关键知识点。 1. **基本语法与IsNaN**: JavaScript的基本...
JavaScript,简称JS,是一种广泛应用于Web开发的轻量级脚本语言,它主要负责网页的动态交互。在网页中,JS可以通过三种方式引入:内嵌、外链和行内。内嵌是将JS代码直接写在HTML标签中,如`<script>`标签;外链则是...
- **ECMAScript (ES)**:这是 JavaScript 语言的核心语法标准,定义了基本的数据类型、语法结构和内置对象等。 - **DOM (Document Object Model)**:提供了文档对象模型的标准接口,使得 JavaScript 可以操作 HTML ...
- **输入/输出**:常用的方法有`console.log()`用于打印输出,`prompt()`和`alert()`用于用户交互。 - **语法约定**:遵循一定的编码规范,如驼峰命名法,注释的使用等。 - **Firebug工具**:是Firefox浏览器的一...
在这个名为"javascript小例子"的压缩包中,我们很可能是找到了一些JavaScript编程的基础示例或者练习代码,这些代码可能涵盖了变量声明、数据类型、控制结构、函数、对象以及事件处理等方面的知识。 1. **变量与...
JavaScript是一种广泛应用于Web开发的轻量级编程语言,它的特点是嵌入在HTML中,用于增强网页的交互性和动态性。...此外,JavaScript还有数组、对象、正则表达式等多种数据结构和功能,为Web开发提供了强大的工具集。
DOM是一种与平台和语言无关的接口,它允许程序和脚本动态地访问和更新文档内容、结构以及样式。通过DOM API,JavaScript能够轻松地获取、修改和删除文档中的元素。 此外,文章中还提到了HTML和CSS的使用。虽然这...
例如,`alert()`用于弹出对话框显示信息,`prompt()`用于获取用户输入,`console.log()`用于在浏览器控制台打印信息,`parseInt()`和`parseFloat()`用于将字符串转换为整数或浮点数,`Math`对象包含了一系列数学函数...
本书的结构包括了多个章节,例如环境搭建、第一个脚本编写、元素定位、添加等待时间、打印信息、浏览器操作、键盘事件处理、鼠标事件处理、定位一组元素、多层框架/窗口定位、层级定位、上传文件操作、下拉框处理...
JavaScript,也被称为JS,是一种广泛应用于网页和网络应用的脚本语言,主要负责客户端的动态交互。HeadFirst JavaScript 是一本非常受欢迎的编程书籍,它以其独特的教学方式引导初学者理解和掌握JavaScript的核心...
JavaScript 提供了多种输入/输出方法,如`alert()`用于弹出对话框,`prompt()`用于获取用户输入,以及`console.log()`在开发者控制台打印信息。例如: ```javascript alert("提示信息"); var userInput = prompt(...
例如,不能将一个变量命名为"if"或"document",因为它们分别是JavaScript的关键字和对象。此外,"name"这个词也可能导致问题,因为它是某些HTML元素的属性名。鉴于不同浏览器对保留字的定义可能存在差异,最稳妥的...