浅析JavaScript中的常用算法与函数


Posted in Javascript onNovember 21, 2013

代码使用方法:

0001:
判断一个计算结果是不是无穷大:if(isFinite(999999999*999999999) == true)
----------------------------------------------------------------------------------------------------
0002:
判断是不是数字:if(isNaN("Blue") == true),不是数字则为true,是数字则为false。
----------------------------------------------------------------------------------------------------
0003:
数字的进制转换:
var num = 10;
alert(num.toString()) + "<br>";//十进制
alert(num.toString(2)) + "<br>";//二进制
alert(num.toString(8)) + "<br>";//八进制
alert(num.toString(16)) + "<br>";//十六进制
----------------------------------------------------------------------------------------------------
0004:
将字符串类型转换为数字类型:注意,parseFloat没有进制参数可以选择,都当作十进制处理
var str = "10";
alert(parseInt(str,10));//字符串被当作十进制处理
alert(parseInt(str,2));//字符串被当作二进制处理
----------------------------------------------------------------------------------------------------
0005:
强制类型转换:
var str = "10";
var num = new Number(str);
----------------------------------------------------------------------------------------------------
0006:
Object类的基本属性和方法:所有类都继承自Object,因此都有这些属性和方法。
属性:
●Constructor:对创建对象的函数的引用。指向构造函数。
●Prototype:对该对象的对象原型的引用。
方法:
●HasOwnProperty(property):判断对象是不是有某个属性。
●IsPrototypeOf(aobject):判断该对象是不是另一个对象的原型。
●PrototypeIsEnumerable(protype):判断属性是否可以用for...in语句枚举。
●ToString()
●ValueOf()
----------------------------------------------------------------------------------------------------
0007:
声明数组的几种方法:
var array1 = new Array();
var array2 = new Array("Blue","Red","Black");
var array3 = ["Blue","Red","Black"];
----------------------------------------------------------------------------------------------------
0008:
创建日期类型的方法:var myDate = new Date(Date.parse("2007/1/2"));
----------------------------------------------------------------------------------------------------
0009:
URL的编码和解码:
var url = new String("http://www.qpsh.com?name=smartkernel");
//编码:将非标准字符全部编码
var enUrl = encodeURIComponent(url);//encodeURI(url);
//解码:转换为原始形式
var deUrl = decodeURIComponent(enUrl);//decodeURI(enUrl);
----------------------------------------------------------------------------------------------------
0010:
ASP.Net中的编码和解码:
string url = "http://www.126.com?name=smartkernel";
string enUrl = this.Server.HtmlEncode(url);
string deUrl = this.Server.HtmlDecode(enUrl);
----------------------------------------------------------------------------------------------------
0011:
静态方法:JavaScript的静态函数,就是声明给构造函数的函数

function Person()
{
}
Person.say = function(msg)
{
alert(msg);
}
Person.say("你好");

0012:
创建一个对象:
function Person(name,age)
{
Person.prototype.Name = name;
Person.prototype.Age = age;
//this.Name = name;
//this.Age = age;
}
Person.prototype.say = function()
{
alert(this.Name + "|" + this.Age);
}
var aPerson = new Person("张三",23);
aPerson.say();

0013:
StringBuilder的创建:
function StringBuilder()
{
this.arrayData = new Array();
}
StringBuilder.prototype.append = function(str)
{
this.arrayData.push(str);
}
StringBuilder.prototype.toString = function()
{
return this.arrayData.join("");
}
var aStringBuilder = new StringBuilder();
aStringBuilder.append("世界");
aStringBuilder.append("你好");
alert(aStringBuilder.toString());

0014:
继承的实现:
function Person(name)
{
this.Name = name;
this.sayName = function()
{
alert(this.Name);
}
}
function MyPerson(name,age)
{
this.ctorFun = Person;
this.ctorFun(name);
delete this.ctorFun;
this.Age = age;
this.sayAge = function()
{
alert(this.Age);
}
this.say = function()
{
alert(this.Name + "|" + this.Age);
}
}
var aMyPerson = new MyPerson("张三",25);
aMyPerson.sayName();
aMyPerson.sayAge();
aMyPerson.say();

0015:
继承的实现:
function Person(name)
{
this.Name = name;
this.sayName = function()
{
alert(this.Name);
}
}
function MyPerson(name,age)
{
Person.call(this,name);//或者Person.apply(this,new Array(name));
this.Age = age;
this.sayAge = function()
{
alert(this.Age);
}
this.say = function()
{
alert(this.Name + "|" + this.Age);
}
}
var aMyPerson = new MyPerson("张三",25);
aMyPerson.sayName();
aMyPerson.sayAge();
aMyPerson.say();

0016:
多重继承:
function Person1(name)
{
this.Name = name;
this.sayName = function()
{
alert(this.Name);
}
}
function Person2(sex)
{
this.Sex = sex;
this.saySex = function()
{
alert(this.sex);
}
}
function MyPerson(name,age,sex)
{
Person1.call(this,name);
Person2.call(this,sex);
this.Age = age;
this.sayAge = function()
{
alert(this.Age);
}
this.say = function()
{
alert(this.Name + "|" + this.Age + "|" + this.Sex);
}
}
var aMyPerson = new MyPerson("张三",25,"男");
aMyPerson.say();

0017:
继承的实现:原型链方式,不支持有参数的构造函数和多重继承
function Person()
{
}
function MyPerson()
{
}
MyPerson.prototype = new Person();//不能有参数

0018:
合理的继承机制是混合使用以上的几种方式:
function Person(name)
{
this.Name = name;
this.sayName = function()
{
alert(this.Name);
}
}
function MyPerson(name,age)
{
Person.call(this,name);//或者Person.apply(this,new Array(name));
this.Age = age;
this.sayAge = function()
{
alert(this.Age);
}
this.say = function()
{
alert(this.Name + "|" + this.Age);
}
}
MyPerson.prototype = new Person();
var aMyPerson = new MyPerson("张三",25);
aMyPerson.sayName();
aMyPerson.sayAge();
aMyPerson.say();

0019:
错误处理:
<head>
<script type="text/Javascript">
window.onerror = function(msg,url,line)
{
var err = "错误信息:" + msg + "。/n" + "错误地址:" + url + "。/n" + "错误行数:" + line + "。/n";
alert(err);
}
</script>
Javascript 相关文章推荐
javascript 原型模式实现OOP的再研究
Apr 09 Javascript
理解JavaScript的caller,callee,call,apply
Apr 28 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
循环 vs 递归浅谈
Feb 28 Javascript
Javascript遍历table中的元素示例代码
Jul 08 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
微信小程序 倒计时组件实现代码
Oct 24 Javascript
jsp 自动编译机制详细介绍
Dec 01 Javascript
详解JavaScript树结构
Jan 09 Javascript
webpack配置sass模块的加载的方法
Jul 30 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
Nov 20 #Javascript
浅谈checkbox的一些操作(实战经验)
Nov 20 #Javascript
JS 去除Array中的null值示例代码
Nov 20 #Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 #Javascript
jquery html动态生成select标签出问题的解决方法
Nov 20 #Javascript
js数组转json并在后台对其解析具体实现
Nov 20 #Javascript
javascript 循环调用示例介绍
Nov 20 #Javascript
You might like
php函数的常用方法及注意之处小结
2011/07/10 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
心扬JS分页函数代码
2010/09/10 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
js格式化时间和js格式化时间戳示例
2014/02/10 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
Angular2 组件通信的实例代码
2017/06/23 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
Python利用IPython提高开发效率
2016/08/10 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
高职教师岗位职责
2013/12/24 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL