浅析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 相关文章推荐
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
JS基于正则表达式实现的密码强度验证功能示例
Sep 21 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 Javascript
Vue中实现权限控制的方法示例
Jun 07 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
基于MySQL到MongoDB简易对照表的详解
2013/06/03 PHP
php将session放入memcached的设置方法
2014/02/14 PHP
php DES加密算法实例分析
2019/09/18 PHP
php命令行模式代码实例详解
2021/02/26 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
获取HTML DOM节点元素的方法的总结
2009/08/21 Javascript
js 上传图片预览问题
2010/12/06 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
Python编程实现使用线性回归预测数据
2017/12/07 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Python Celery多队列配置代码实例
2019/11/22 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
技术支持岗位职责
2015/02/13 职场文书
公司规章制度范本
2015/08/03 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
vue 数字翻牌器动态加载数据
2022/04/20 Vue.js