浅析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 相关文章推荐
JQuery与Ajax常用代码实现对比
Oct 03 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
Apr 15 Javascript
一个js过滤空格的小函数
Oct 10 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
Mar 11 Javascript
简述Jquery与DOM对象
Jul 10 Javascript
js密码强度校验
Nov 10 Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 Javascript
vue 2.x 中axios 封装的get 和post方法
Feb 28 Javascript
详解js跨域请求的两种方式,支持post请求
May 05 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
Dec 04 Javascript
vue swipeCell滑动单元格(仿微信)的实现示例
Sep 14 Javascript
关于javascript中的promise的用法和注意事项(推荐)
Jan 15 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
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
php socket通信简单实现
2016/11/18 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
使用JavaScript获取Request中参数的值方法
2016/09/27 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
Python3之不使用第三方变量,实现交换两个变量的值
2019/06/26 Python
python中常见错误及解决方法
2020/06/21 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
Viking Direct荷兰:购买办公用品
2019/06/20 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
历史学专业推荐信
2013/11/06 职场文书
学校万圣节活动方案
2014/02/13 职场文书
高中英语演讲稿范文
2014/04/24 职场文书
上海世博会志愿者口号
2014/06/17 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
2014年卫生工作总结
2014/11/27 职场文书
法学专业求职信范文
2015/03/19 职场文书
小学班主任工作总结2015
2015/04/07 职场文书
js实现自动锁屏功能
2021/06/02 Javascript