浅析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使Div居中并随网页大小改变而改变
Jun 24 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
Nov 19 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
Mar 12 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
Jan 05 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 jQuery
vue.js todolist实现代码
Oct 29 Javascript
如何选择适合你的JavaScript框架
Nov 20 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
Oct 07 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
非常漂亮的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中的CMS的涵义
2007/03/11 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
Yii框架form表单用法实例
2014/12/04 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
理解javascript闭包
2015/12/15 Javascript
javascript insertAfter()定义与用法示例
2016/07/25 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
webpack4实现不同的导出类型
2019/04/09 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
python django集成cas验证系统
2014/07/14 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
英国儿童图书网站:Scholastic
2017/03/26 全球购物
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
给国外客户的邀请函
2014/01/30 职场文书
洗发露广告词
2014/03/14 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL