浅析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 图片上传预览-兼容标准
Jun 01 Javascript
动态刷新 dorado树的js代码
Jun 12 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
JS隐藏参数post传值实例
Apr 18 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
VUEJS实战之利用laypage插件实现分页(3)
Jun 13 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
详解Vue用cmd创建项目
Feb 12 Javascript
详解vue项目中调用百度地图API使用方法
Apr 25 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
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
B/S模式项目中常用的javascript汇总
2013/12/17 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
小程序实现留言板
2018/11/02 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
python每次处理固定个数的字符的方法总结
2013/01/29 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
使用python编写监听端
2018/04/12 Python
学习python的前途 python挣钱
2019/02/27 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
Python实现微信机器人的方法
2019/09/06 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
物流仓储实习自我鉴定
2013/09/25 职场文书
自荐信要包含哪些内容
2013/11/06 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
公务员年终个人总结
2015/02/12 职场文书
法人代表资格证明书
2015/06/18 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
Python基础详解之邮件处理
2021/04/28 Python
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js