今天复习下javascript全局对象 写了一个程序分别判断javascript在火狐和IE中显示不同的全局对象的数量 大家可以试试看
还介绍一下有关于NAN和IsNAN Infinity 其实Infinity就是相当于一个无穷大的数还需要掌握数据加密和解密的 encodeURI
encodeURIComponent 方法 NaN有几点要提一下:
1 NaN用于引用特殊的非数字值
2 NaN不是常量
3 NaN与所有的值都不相等,包括它自己
4 isNaN判断一个值是否是数字
5 isNaN常用在判断一些非法的数值运算产生的值,例如对负数的平方根、被0除后的值、或者检测参数属否为NaN、undefined等
encodeURI的目的是给URI编码。
ASCII的字母、数字、-_.!~*’()不编码,URI中具有特殊意义的字符也不编码如;/?:@&=+$,和空格
参数中的其他字符将转换成UTF-8编码方式的字符,并使用十六进制转义序列(%xx)生成替换。其中,ASCII字符使用一个%xx替换,在\u0080与\u07ff之间的编码的字符使用两个%xx替换,其它的16为Unicode字符使用三个%xx替换
如果想对URI的分隔符? #编码,应该使用encodeURIComponent
下面请看代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> JavaScript的全局对象(上) </TITLE>
<META NAME="Content-Type" CONTENT="text/html;charset=utf-8">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
//列出了针对不同的浏览器javascript所包括的全局对象名称
var i=0;
for(var name in this){
i++;
document.write(name+"<br/>");
}
alert("全局对象的数量为:"+i);
function isIE(){
return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1&&document.all;
}
function isFF(){
return navigator.userAgent.indexOf("Firefox")!=-1;
}
function judgeIsGlobe(globename){
var result=false;
if(isIE()){
for(var name in this){
if(globename==name){
result=true;
}
}
if(result){
alert(globename+"是IE浏览器中支持的javascript全局对象名称!");
}else{
alert(globename+"不是IE浏览器中支持的javascript全局对象名称!");
}
}else if(isFF()){
for(var name in this){
if(globename==name){
result=true;
}
}
if(result){
alert(globename+"是火狐浏览器中支持的javascript全局对象名称!");
}else{
alert(globename+"不是火狐浏览器中支持的javascript全局对象名称!");
}
}
}
judgeIsGlobe("event");
//大于1.7976931348623157e返回Infinity,小于-1.7976931348623157e返回-Infinity
var num1=1.7976931348623157e+1308;
document.write(Number.MAX_VALUE+"<br/>");
document.write("num1:"+num1+"<br/>");
document.write(Number.MIN_VALUE+"<br/>");
var num2=-1.7976931348623157e+1308;
document.write("num2:"+num2+"<br/>");
document.write(num1+num2+"<br/>");
document.write(num1-num2+"<br/>");
document.write(num1*2+"<br/>");
//Number对象的POSITIVE_INFINITY
document.write("Number.POSITIVE_INFINITY:"+Number.POSITIVE_INFINITY);
if(num1==Number.POSITIVE_INFINITY){
alert("true");
}else{
alert("false");
}
//如果判断的参数是数值类型,并且符合逻辑的运算,则返回false,否则返回true
var a=isNaN(88);
document.write(a+"<br>");
//对URI地址加密用encodeURI函数和encodeURIComponent函数
var uri="http://bbs.langsin.com?param1=abc¶m2=中文";
var uristr1=encodeURI(uri);
document.write("<br/>");
document.write(uri+"加密后的字符串为:"+uristr1+"<br/>");
var uristr2=encodeURIComponent(uri);
document.write(uri+"加密后的字符串为:"+uristr2+"<br/>");
//对URI地址解密用decodeURI函数和decodeURIComponent函数
document.write("<br/>");
var uri1=decodeURI(uristr1);
document.write(uristr1+"解密后的字符串为:"+uri1+"<br/>");
var uri2=decodeURIComponent(uristr2);
document.write(uristr2+"解密后的字符串为:"+uri2+"<br/>");
//-->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
下面看代码效果截图:
- 大小: 27.9 KB
- 大小: 13.1 KB
- 大小: 9.7 KB
- 大小: 11.2 KB
分享到:
相关推荐
当你在JavaScript中声明一个变量或函数而没有使用任何特定的作用域(如`var`或`function`关键字)时,它们默认会被附加到全局对象上。在浏览器环境中,这个全局对象通常是`window`;而在Node.js中,它是`global`。 ...
通过以上内容的介绍,可以看出JavaScript中的全局对象是一个包含了大量预定义属性和方法的对象,它是JavaScript编程的一个基础部分。熟悉全局对象及其属性和方法将有助于提高JavaScript代码的质量和效率。无论是初学...
JavaScript有全局对象、内置对象、宿主对象等层次结构,如DOM(文档对象模型)和BOM(浏览器对象模型)。 8.3.2 客户端对象层次介绍 客户端对象层次主要涉及浏览器提供的对象,如window、document等。 8.3.3 ...
本参考手册聚焦于JavaScript的核心对象,这些对象构成了JavaScript的基础框架,允许开发者进行数据处理、用户交互以及与浏览器进行通信。以下是手册中可能包含的主要知识点: 1. **全局对象Global**: JavaScript中...
属性和对象是JavaScript面向对象编程的基础。对象是键值对的集合,可以通过点号或方括号语法访问其属性。属性可以是数据属性(存储值)和访问器属性(提供get和set方法)。对象可以通过构造函数创建,也可以使用对象...
在标题和描述中提到的“JavaScript定义全局对象的方法”,实际上是在讨论如何创建和使用全局变量和函数。 在提供的代码示例中,展示了两种定义全局对象的方法: 1. **立即执行函数表达式(IIFE, Immediately ...
本文将深入探讨JavaScript的基础、中级和高级概念,特别是其面向对象特性。 一、JavaScript基础 1. 变量与数据类型:JavaScript支持动态类型,允许声明变量时无需指定类型。基本数据类型包括字符串(String)、数字...
4. 执行上下文:每次JavaScript代码执行时,都会创建一个新的执行上下文,分为全局执行上下文、函数执行上下文和块级作用域。 二、JavaScript面向对象基础 JavaScript的面向对象编程主要基于原型(prototype)、...
综上所述,这份压缩包资源将帮助学习者全面理解JavaScript的基础知识,掌握面向对象编程技巧,并了解如何在实际项目中应用各种设计模式。通过深入学习和实践,开发者可以编写出更加高效、可维护的JavaScript代码。
本教程将深入浅出地介绍JavaScript的基础知识,并结合实际案例进行实践讲解。 一、JavaScript简介 JavaScript是由Netscape公司的Brendan Eich在1995年设计的一种轻量级解释性编程语言。虽然名字中带有“Java”,但...
在"JavaScript语法基础.rar"这个压缩包中,包含了多个章节,涵盖了JavaScript的基础知识,包括数据类型和变量、String对象、Math对象、数组与Array对象、Form对象、数据库访问、条件和循环语句、Window对象、文件...
本教程将深入浅出地介绍JavaScript的基础知识,帮助初学者快速入门。 JavaScript语法基础: 1. 变量:在JavaScript中,我们可以使用`var`、`let`或`const`来声明变量。`var`是老式语法,而`let`和`const`是ES6引入...
* 基础工具类:全局对象Globals、日期Date、数学Math、正则表达式RegExp及错误对象Error 在JavaScript中,null和undefined是两个特殊的值。null表示一个变量不对应任何的值或对象,而undefined表示一个变量未定义或...
在V8引擎中,全局对象是执行上下文的一部分,当执行新的JavaScript脚本时,V8会创建一个新的全局执行上下文,并在这个上下文中初始化全局对象。这个对象在每个独立的执行环境中都是独一无二的,这意味着在浏览器的多...
1. **基础语法**:JavaScript是一种基于对象和事件驱动的脚本语言,它遵循ECMAScript规范。基础语法包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined)、运算符(算术、比较、...
5. **this关键字**:`this`在JavaScript中根据函数调用方式的不同而变化,它可以指向对象本身、全局对象、或通过call、apply和bind方法绑定的任何对象。 6. **对象冻结与密封**:使用`Object.freeze()`和`Object....
理解数组的方法(如`push`、`pop`、`slice`等)和对象的操作(如属性访问、`for...in`循环)是JavaScript编程的基础。 5. **事件与DOM操作**:JavaScript通过事件监听和处理来响应用户的交互,如点击按钮、滚动页面...
JavaScript是一种广泛应用于Web开发的脚本语言,它虽然支持面向对象编程,但其面向对象的实现方式与其他传统面向对象语言(如Java或C++)有所不同。JavaScript中的面向对象特性主要体现在以下几个方面: 1. **基于...
在这个专题中,我们将深入探讨JavaScript的基础语法,面向对象的实现,以及设计模式在JavaScript中的应用。 **一、JavaScript基础语法** JavaScript的基础语法包括变量声明、数据类型、运算符、流程控制和函数等...