浅析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函数
Oct 16 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
JQuery学习总结【二】
Dec 01 Javascript
简单实现jquery焦点图
Dec 12 Javascript
详解Vue 实例中的生命周期钩子
Mar 21 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
使用 vue.js 构建大型单页应用
Feb 10 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采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
JavaScript运算符小结
2015/06/03 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
2018/12/06 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
Python使用get_text()方法从大段html中提取文本的实例
2019/08/27 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
简单的JAVA编程面试题
2013/03/19 面试题
公司门卫岗位职责
2014/03/15 职场文书
党员岗位承诺书
2014/03/25 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
PHP获取学生成绩的方法
2021/11/17 PHP
Python序列化模块JSON与Pickle
2022/06/05 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers