还是由于最近项目中接触到此类js,不是太了解,所以自行敲入了如下代码,自我进行测试,并了解它们。其中部分代码并非原创,有的是直接拷贝网上的。
<script type="text/javascript">
/**
eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。
如果s语句执行结果是一个值,则返回此值,否则返回undefined
**/
var query = function() {
alert("====");
}
var node1 = "query";
var node2 = 8;
var node3;
var MM = "My";
var just = eval(node1);
alert(just);
alert(eval(node2)); // 输出 8
alert(eval(node3)); //输出 undefined
alert(eval("MM")); //输出 My
var him,tom,jom;
him = "query";
jom = true;
alert(typeof tom == "function"); //输出false,因为此处tom还不是function类型
alert(typeof jom == "boolean"); //输出为true,因为jom为boolean类型
tom = eval(him); //eval函数根据参数him为string类型,其值为query,则执行query函数,把query function赋给tom,即tom也是function函数了
alert(typeof (tom)); //输出function 即输出tom的类型
alert(typeof tom == "function"); //输出true,此处应理解为问tom的类型是否是function类型,为true
alert(tom == "function"); //输出false,此处应该理解为问tom的值是否为字符串“function”,tom是function函数,值不是字符串,所以为false
alert(typeof (tom == "function")); //输出boolean,因为tom=="function"为false,false为布尔类型,输出false的类型,即boolean
</script>
<script type="text/javascript">
/**
typeof返回一个表达式的数据类型的字符串,返回结果为js基本的数据类型,
包括number,boolean,string,object,undefined,function.语法为typeof(data) 或 typeof data
instanceof则为判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例;返回boolean类型
语法为 o instanceof A
**/
alert("typeof(1):" + typeof(1));//number
alert("typeof(\"abc\"):" + typeof("abc"));//string
alert("typeof(true):" +typeof(true));//boolean
alert("typeof(2009-2-4):" + typeof(2009-2-4));//number
alert("typeof(\"2009-2-4\"):" + typeof("2009-2-4"));//string
alert("typeof(m):" + typeof(m));//undefined
var d=new Date();
alert("typeof(d):" + typeof(d));//object
function Person(){};
alert("typeof(Person):" + typeof(Person));//function
var a=new Array();
alert("typeof(a):" + typeof(a));//object
alert("a instanceof Array:" + (a instanceof Array));
var h=new Person();
var o={};
alert("h instanceof Person:" + (h instanceof Person));//true
alert("h instanceof Object:" + (h instanceof Object));//true
alert("o instanceof Object:" + (o instanceof Object));//true
alert(typeof (h)); //object
/**
js中constructor较少使用,如果不是搜索到相关construtor相关的资料,我之前从没有注意到js还有这个函数。
使用typeof的一个不好的地方就是它会把Array还有用户自定义函数都返回为object
**/
var j=2;
alert(typeof(j));//number
alert("j.constructor:" + j.constructor);//function …
alert(typeof(j.constructor));//function
</script>
如果讲得有错误,欢迎纠正!
分享到:
相关推荐
new EvaluatorItem(typeof(int), "(30 + 4) * 2", "GetNumber"), new EvaluatorItem(typeof(string), "\"Hello \" + \"There\"", "GetString"), new EvaluatorItem(typeof(bool), "30 == 40", "GetBool"), new...
那关于eval和with到底是什么情况呢?本文将详细介绍eval()函数和with语句 eval 定义 eval()是一个全局函数,javascript通过eval()来解释运行由javascript源代码组成的字符串 var ...
本文实例讲述了javascript实现根据函数名称字符串动态执行函数的方法。分享给大家供大家参考,具体如下: [removed] //动态函数调用,调用者使用targetFunction function targetFunction() { alert(11111);...
Json2.js 手册 JavaScript使用了ECMAScript语言规范第三版进行了标准化。 JSON是JavaScript面向对象语法的一个子集。由于JSON是JavaScript的一个子集,因此它可清晰的 运用于此语言中。 var myJSONObject = {...
CoffeeScirpt是什么? 4 初始化安装 5 CoffeeScript语法 6 ...使用typeof 52 使用instanceof 54 使用delete 55 使用parseInt 56 Strict模式 56 Strict模式的不同 56 使用Strict模式 57 JavaScript Lint 58
核心代码 //是否存在指定函数 function isExitsFunction(funcName) { try { if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } //是否存在指定变量 ...
这些对象同时在客户端和服务器端的 JavaScript 中使用。 Array 属性 方法 Boolean 属性 方法 Date 属性 方法 Function 属性 方法 Math 属性 方法 Number 属性 方法 Object 属性 方法 String 属性 方法 RegExp 属性 ...
if (typeof(eval(funcName)) == "function") { return true; } } catch(e) {} return false; } 二、类似PHP常用的判断函数是否存在,不存在则创建 if (typeof String.prototype.endsWith != 'function...
新浪中用来显示flash的函数,格式化后大家可以用啊sinaflash.js 代码如下:/** * @author [sina]zhangping1@ * @version v1.1.3 * Date:2006-9-8 2006-12-15 */ if(typeof(sina)!=”object”){var sina={}} ...
eval 方法 对 JScript 代码求值然后执行。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的...
javascript的官方文档 这些方便实用的信息将帮助您了解 JScript 的各个部分。 在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题...
在这篇文章中作者从《JavaScript面向对象编程指南》一书中关于 delete 的错误讲起,详细讲述了关于 delete 操作的实现, 局限以及在不同浏览器和插件(这里指 firebug)中的表现。 下面翻译其中的主要部分。 …书中...
注意:js中的方法可以直接写在代码中,不需要“类”包裹 使用方法:方法名()-->方法调用-->立即执行 2.js文件:网页外专门保存js脚本的文件--推荐 强调:HTML、CSS、JS都要使用UTF-8编码保存(window系统) ...
一、问题的提出 我们先来看看下面几段代码,要注意的是,以下代码不要在浏览器的开发者工具(如FireBug、Chrome Developer tool)中运行,原因后面会说明: 为什么我们可以删除对象的属性: 代码如下: var o = { x: 1 ...
eval 方法 对 JScript 代码求值然后执行。 exec 方法 在指定字符串中执行一个匹配查找。 exp 方法 返回 e (自然对数的底) 的幂。 FileSystemObject 对象 提供对计算机文件系统的访问。 fixed 方法 将 HTML 的...
GasT单元测试文件是定义GAS单元测试案例的javascript文件。 在幕后,每个GAS测试用例只是一个带有描述参数并以TAP格式输出的函数。 if ( ( typeof GasTap ) === 'undefined' ) { // GasT Initialization. (only if...
在浏览器中显示信息; 使用消息框; 语言参考; 特性信息; Microsoft JScript 特性 - ECMA; Microsoft JScript 特性 - 非-ECMA; JScript 字母顺序的关健字列表; JScript 错误; JScript 运行时错误; JScript ...
leetcode 分类 生活、工作和兴趣 To Do List 前端 ...基本的表单标签 ...JavaScript JavaScript基础知识 ...typeof ...let可以将变量绑定到所在的任意作用域中(通常是{...}内部) this 浅拷贝(shallow copy)
取变量类型 typeof($js_libpath) == "undefined" 下拉框 下拉框.options[索引] 下拉框.options.length 查找对象 document.getElementsByName("r1"); document.getElementById(id); 定时 timer=setInterval...