一、Global

所有在全局作用域定义的属性和方法,都属于Global对象。

1.URI编码:

encodeURI():主要用于对整个URI编码。它不会对本身属于URI的特殊字符进行编码。

encodeComponentURI():主要用于对URI中的某一部分进行编码,很常用的是对查询字符串参数进行编码。它会对所有非标准字符进行编码。

对应的解码方法是decodeURI()和decodeURIComponent。

var uri='http://www.cnblogs.com?a=1 2&b=陈&c=123';
var a=encodeURI(uri);// http://www.cnblogs.com?a=1%202&b=%E9%99%88&c=123
var b=encodeURIComponent(uri);// http%3A%2F%2Fwww.cnblogs.com%3Fa%3D1%202%26b%3D%E9%99%88%26c%3D123
decodeURI(a);//√"http://www.cnblogs.com?a=1 2&b=陈&c=123"
decodeURI(b);//×"http%3A%2F%2Fwww.cnblogs.com%3Fa%3D1 2%26b%3D陈%26c%3D123"
decodeURIComponent(a);//√"http://www.cnblogs.com?a=1 2&b=陈&c=123"
decodeURIComponent(b);//√http://www.cnblogs.com?a=1 2&b=陈&c=123

2.eval()方法

当调用eval()方法时,会执行参数中传入的语句,并把执行结果插入到原位置。

该方法执行的代码与当前调用环境具有相同的作用域链。

var a=1;
eval('function test(){alert(a);}');
test();//结果1

3.在web浏览器中,全局作用域的变量和方法都会成为window对象的属性。

var name='jing';
function sayName(){
console.log(name);
}
window.sayName(window.name);//jing

二、Math对象

Math对象包含了很多数据计算的属性和方法。常用的几个:

1.Math.min()和Math.max:计算一组数值中的最大值和最小值,参数可以任意多个数值。

Math.min(3,5,10,88,3);//
Math.max(3,5,10,88,3)//

当计算一个数组中的最大最小值时,可以这样调用:

var result=[3,5,10,88,3];
Math.min(result);//错误,NaN
Math.min.apply(Math,result);//

2.舍入方法

Math.ceil():向上取整;

Math.floor():向下取整;

Math.round():四舍五入取整。

var data=5.6;
Math.ceil(data);//
Math.floor(data);//
Math.round(data);//
Math.round(5.4)//

3.随机数random ()

Math.random()返回一个介于0和1之间的随机数,不包含0和1。

取一个整数范围内的随机数可以这样来计算:

result=(Math.random()*可能取值的总数+第一个可能的值)

三、String类型

1.字符方法

charAt(n):直接返回字符串中指定位置的字符;

charCodeAt(n):返回指定位置字符的字符编码。

var s="Javascript高级程序设计";
console.log(s.charAt(10));//高
console.log(s.charCodeAt(10));//

2.取子串

slice():第一个参数是子串开始位置索引,第二个参数是子串结束位置索引(不包括结束字符).

substring():第一个参数是子串开始位置索引,第二个参数是子串结束位置索引(不包括结束字符).

substr():第一个参数是子串开始位置索引,第二个参数是子串长度.

var s="提醒一下七夕节快到了";
console.log(s.slice(4,7));
console.log(s.substring(4,7));
console.log(s.substr(4,3));

3.字符串模式匹配

search(reg):返回字符串中第一个匹配项的索引,如果匹配不到就返回-1。方法有一个参数,可以是正则表达式或者RegExp对象。

match(reg):该方法有一个参数,可以是正则表达式或者RegExp对象。

replace():替换子串。如果想替换所有匹配的子串,那么只能用正则表达式。

var s='http://www.cnblogs.com/1/1/'
var r=/\d+/g;
s.search(r);//
s.match(r);//["1","1"] //只替换第一个匹配项
s.replace('1','janes')//"http://www.cnblogs.com/janes/1/" //替换所有匹配项
s.replace(r,'janes');//"http://www.cnblogs.com/janes/"

读javascript高级程序设计08-引用类型之Global、Math、String的更多相关文章

  1. 读javascript高级程序设计00-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  2. 读javascript高级程序设计-目录

    javascript高级编程读书笔记系列,也是本砖头书.感觉js是一种很好上手的语言,不过本书细细读来发现了很多之前不了解的细节,受益良多.<br/>本笔记是为了方便日后查阅,仅作学习交流 ...

  3. 读javascript高级程序设计01-基本概念、数据类型、函数

    一. javascript构成 1.javascript实现由三部分组成: ECMAScript:核心语言功能 DOM:文档对象模型,提供访问和操作网页内容的方法和接口 BOM:浏览器对象模型,提供与 ...

  4. 读javascript高级程序设计10-DOM

    一.节点关系 元素的childNodes属性来表示其所有子节点,它是一个NodeList对象,会随着DOM结构的变化动态变化. hasChildNodes():是否有子节点. var headline ...

  5. JavaScript高级程序设计-(4) 引用类型

    1.object var person={};//与new Object()相同 一般创建对象 var person=new Object(); person.Name="admin&quo ...

  6. 读javascript高级程序设计17-在线检测,cookie,子cookie

    一.在线状态检测 开发离线应用时,往往在离线状态时把数据存在本地,而在联机状态时再把数据发送到服务器.html5提供了检测在线状态的方法:navigator.onLine和online/offline ...

  7. 读javascript高级程序设计02-变量作用域

    一. 延长作用域链 有些语句可以在作用域前端临时增加一个变量对象,该变量对象在代码执行完成后会被移除. ①with语句延长作用域. function buildUrl(){ var qs=" ...

  8. 读javascript高级程序设计06-面向对象之继承

    原型链是实现继承的主要方法,通过原型能让一个引用类型继承另一个引用类型. 1.原型链实现继承 function SuperType(){ this.superprop=1; } SuperType.p ...

  9. 读javascript高级程序设计07-引用类型、Object、Array

    一.引用类型 ECMAScript是支持面向对象的,可以通过引用类型描述一类对象所具有的属性和方法. 创建对象实例的方法时是用new 操作符加构造函数:var p=new Person(). 二.Ob ...

随机推荐

  1. Linux下添加用户及用户组

    创建用户组hdpgroup: $ sudo addgroup hdpgroup 如果用户hdp不存在,把hdp添加到hdpgroup用户组: $ sudo adduser --force -ingro ...

  2. 使用Go开发web服务器

    原文链接 Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器.同时,Go语言为开发者提供了很多便利.这本篇博客中我们将列出使用Go开发HT ...

  3. Android -- 自定义View小Demo,绘制四位数随机码(一)

    1,现在有这样一个需求,实现显示随机随机数可能在代码中直接很简单的就实现了,但是现在我们直接自定义View来实现这个效果,那么我们来分析一波吧,我们允许开发者自己设置这个textview的大小,颜色, ...

  4. asp检测数字类型函数

    '**************************************************'函数ID:0014[检测ID是否为数字类型]'函数名:JCID'作 用:检测ID是否为数字类型' ...

  5. Android MimeType的用法和几种类型

    关于MIME TYPE描述 多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions)是一个互联网标准,它扩展了电子邮件标准,使其能够支持非ASCII ...

  6. UBI系统原理-中【转】

    转自:http://blog.chinaunix.net/uid-28236237-id-4217118.html UBI 文件头位置 EC头都放置在擦除块的开始偏移位置,占用64字节空间.之后防止V ...

  7. python开发进阶之路(一)

    哎!好久没有写博客了,怪想念的,今天听了偶像的讲解,好多以前感觉很模糊的概念今天一下子就明朗了.下面就来整理一下今天的收获 一.如何成为一名优秀的开发人员 1.1  得先对自己使用的开发语言了如指掌, ...

  8. PLSQL Developer 不能连接 oracle 12c 64位 的解决办法 for win 64

    1.安装Oracle 12c 64位 2.安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0) 1) 下载instantclient-basic-nt ...

  9. (1) 第一章 Java体系结构介绍

    1.网络带来的挑战和机遇 (1).挑战一: 网络包含的设备越来越广泛, 硬件体系不同, 操作系统不同,用途不同. java解决办法: 通过创建与平台无关的程序来解决这个问题.一个java程序可以不需要 ...

  10. mac攻略(一) -- git使用

    1.首先在官网下载 https://git-scm.com/download/mac   2.然后安装git(mac自带git)   3设置Git的user name和email:   $ git c ...