`
danwind
  • 浏览: 233941 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类
最新评论

js常用方法二

    博客分类:
  • js
 
阅读更多
JS自带函数
concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf("l");
//index1 = 2
var index2 = a.indexOf("l",3);
//index2 = 3
charAt
返回指定位置的字符。
var get_char = a.charAt(0);
//get_char = "h"
lastIndexOf
返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。
var index1 = lastIndexOf('l');
//index1 = 3
var index2 = lastIndexOf('l',2)
//index2 = 2
match
检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
var re = new RegExp(/^\w+$/);
var is_alpha1 = a.match(re);
//is_alpha1 = "hello"
var is_alpha2 = b.match(re);
//is_alpha2 = null
s string
返回字符串的一个子串,传入参数是起始位置和结束位置。
var s _string1 = a.s string(1);
//s _string1 = "ello"
var s _string2 = a.s string(1,4);
//s _string2 = "ell"
s str
返回字符串的一个子串,传入参数是起始位置和长度
var s _string1 = a.s str(1);
//s _string1 = "ello"
var s _string2 = a.s str(1,4);
//s _string2 = "ello"
replace
用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
var result1 = a.replace(re,"Hello");
//result1 = "Hello"
var result2 = b.replace(re,"Hello");
//result2 = ",world"
search
执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
var index1 = a.search(re);
//index1 = 0
var index2 = b.search(re);
//index2 = -1
slice
提取字符串的一部分,并返回一个新字符串(与 s string 相同)。
var s _string1 = a.slice(1);
//s _string1 = "ello"
var s _string2 = a.slice(1,4);
//s _string2 = "ell"
split
通过将字符串划分成子串,将一个字符串做成一个字符串数组。
var arr1 = a.split("");
//arr1 = [h,e,l,l,o]
length
返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
var len = a.length();
//len = 5
toLowerCase
将整个字符串转成小写字母。
var lower_string = a.toLowerCase();
//lower_string = "hello"
toUpperCase
将整个字符串转成大写字母。
var upper_string = a.toUpperCase();
//upper_string = "HELLO"
/*
******************************************
字符串函数扩充                               
******************************************
*/
/*
===========================================
//去除左边的空格
===========================================
*/
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}
/*
===========================================
//去除右边的空格
===========================================
*/
String.prototype.Rtrim = function()
{
return this.replace(/(\s*$)/g, "");
}
/*
===========================================
//去除前后空格
===========================================
*/
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/*
===========================================
//得到左边的字符串
===========================================
*/
String.prototype.Left = function(len)
{
if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}
return this.s str(0,len);
}
/*
===========================================
//得到右边的字符串
===========================================
*/
String.prototype.Right = function(len)
{
if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}
return this.s string(this.length-len,this.length);
}
/*
===========================================
//得到中间的字符串,注意从0开始
===========================================
*/
String.prototype.Mid = function(start,len)
{
return this.s str(start,len);
}
/*
===========================================
//在字符串里查找另一字符串:位置从0开始
===========================================
*/
String.prototype.InStr = function(str)
{
if(str==null)
{
str = "";
}
return this.indexOf(str);
}
/*
===========================================
//在字符串里反向查找另一字符串:位置0开始
===========================================
*/
String.prototype.InStrRev = function(str)
{
if(str==null)
{
str = "";
}
return this.lastIndexOf(str);
}
/*
===========================================
//计算字符串打印长度
===========================================
*/
String.prototype.LengthW = function()
{
return this.replace(/[^\x00-\xff]/g,"**").length;
}
/*
===========================================
//是否是正确的IP地址
===========================================
*/
String.prototype.isIP = function()
{
var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if (reSpaceCheck.test(this))
{
this.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0
&& RegExp.$2 <= 255 && RegExp.$2 >= 0
&& RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0)
{
return tr;   
}
else
{
return false;
}
}
else
{
return false;
}
}
/*
===========================================
//是否是正确的长日期
===========================================
*/
String.prototype.isLongDate = function()
{
var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null)
{
return false;
}
var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
/*
===========================================
//是否是正确的短日期
===========================================
*/
String.prototype.isShortDate = function()
{
var r = this.replace(/(^\s*)|(\s*$)/g, "").match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
{
return false;
}
var d = new Date(r[1], r[3]-1, r[4]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
/*
===========================================
//是否是正确的日期
===========================================
*/
String.prototype.isDate = function()
{
return this.isLongDate()||this.isShortDate();
}
/*
===========================================
//是否是手机
===========================================
*/
String.prototype.isMobile = function()
{
return /^0{0,1}13[0-9]{9}$/.test(this);
}
/*
===========================================
//是否是邮件
===========================================
*/
String.prototype.isEmail = function()
{
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
}
/*
===========================================
//是否是邮编(中国)
===========================================
*/
String.prototype.isZipCode = function()
{
return /^[\\d]{6}$/.test(this);
}
/*
===========================================
//是否是有汉字
===========================================
*/
String.prototype.existChinese = function()
{
//[\一-\龥]為漢字﹐[\︰-\?]為全角符號
return /^[\x00-\xff]*$/.test(this);
}
/*
===========================================
//是否是合法的文件名/目录名
===========================================
*/
String.prototype.isFileName = function()
{
return !/[\\\/\*\?\|:"<>]/g.test(this);
}
/*
===========================================
//是否是有效链接
===========================================
*/
String.prototype.isUrl = function()
{
return /^http[s]?:\/\/([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$/i.test(this);
}
/*
===========================================
//是否是有效的身份证(中国)
===========================================
*/
String.prototype.isIDCard = function()
{
var iSum=0;
var info="";
var sId = this;
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙 江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖 北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
if(!/^\d{17}(\d|x)$/i.test(sId))
{
return false;
}
sId=sId.replace(/x$/i,"a");
//非法地区
if(aCity[parseInt(sId.s str(0,2))]==null)
{
return false;
}
var sBirthday=sId.s str(6,4)+"-"+Number(sId.s str(10,2))+"-"+Number(sId.s str(12,2));
var d=new Date(sBirthday.replace(/-/g,"/"))
//非法生日
if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))
{
return false;
}
for(var i = 17;i>=0;i--)
{
iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11);
}
if(iSum%11!=1)
{
return false;
}
return tr;
}
/*
===========================================
//是否是有效的电话号码(中国)
===========================================
*/
String.prototype.isPhoneCall = function()
{
return /(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/.test(this);
}
/*
===========================================
//是否是数字
===========================================
*/
String.prototype.isNumeric = function(flag)
{
//验证是否是数字
if(isNaN(this))
{
return false;
}
switch(flag)
{
case null:        //数字
case "":
return tr;
case "+":        //正数
return                /(^\+?|^\d?)\d*\.?\d+$/.test(this);
case "-":        //负数
return                /^-\d*\.?\d+$/.test(this);
case "i":        //整数
return                /(^-?|^\+?|\d)\d+$/.test(this);
case "+i":        //正整数
return                /(^\d+$)|(^\+?\d+$)/.test(this);                      
case "-i":        //负整数
return                /^[-]\d+$/.test(this);
case "f":        //浮点数
return                /(^-?|^\+?|^\d?)\d*\.\d+$/.test(this);
case "+f":        //正浮点数
return                /(^\+?|^\d?)\d*\.\d+$/.test(this);                      
case "-f":        //负浮点数
return                /^[-]\d*\.\d$/.test(this);              
default:        //缺省
return tr;                      
}
}
/*
===========================================
//是否是颜色(#FFFFFF形式)
===========================================
*/
String.prototype.IsColor = function()
{
var temp        = this;
if (temp=="") return tr;
if (temp.length!=7) return false;
return (temp.search(/\#[a-fA-F0-9]{6}/) != -1);
}
/*
===========================================
//转换成全角
===========================================
*/
String.prototype.toCase = function()
{
var tmp = "";
for(var i=0;i<this.length;i++)
{
if(this.charCodeAt(i)>0&&this.charCodeAt(i)<255)
{
tmp += String.fromCharCode(this.charCodeAt(i)+65248);
}
else
{
tmp += String.fromCharCode(this.charCodeAt(i));
}
}
return tmp
}
/*
===========================================
//对字符串进行Html编码
===========================================
*/
String.prototype.toHtmlEncode = function()
{
var str = this;
str=str.replace(/&/g,"&amp;");
str=str.replace(/</g,"&lt;");
str=str.replace(/>/g,"&gt;");
str=str.replace(/\'/g,"&apos;");
str=str.replace(/\"/g,"&quot;");
str=str.replace(/\n/g,"<br>");
str=str.replace(/\ /g,"&nbsp;");
str=str.replace(/\t/g,"&nbsp;&nbsp;&nbsp;&nbsp;");
return str;
}
/*
===========================================
//转换成日期
===========================================
*/
String.prototype.toDate = function()
{
try
{
return new Date(this.replace(/-/g, "\/"));
}
catch(e)
{
return null;
}
}




=============================================================================

·字符串(String)
  1.声明
    var myString = new String("Every good boy does fine.");
    var myString = "Every good boy does fine.";

  2.字符串连接
    var myString = "Every " + "good boy " + "does fine.";
    var myString = "Every ";  myString += "good boy does fine.";

  3.截取字符串
    //截取第 6 位开始的字符
    var myString = "Every good boy does fine.";
    var section = myString.s string(6);    //结果: "good boy does fine."
   
    //截取第 0 位开始至第 10 位为止的字符
    var myString = "Every good boy does fine.";
    var section = myString.s string(0,10); //结果: "Every good"
   
    //截取从第 11 位到倒数第 6 位为止的字符
    var myString = "Every good boy does fine.";
    var section = myString.slice(11,-6);    //结果: "boy does"
   
    //从第 6 位开始截取长度为 4 的字符
    var myString = "Every good boy does fine.";
    var section = myString.s str(6,4);     //结果: "good"

  4.转换大小写
    var myString = "Hello";
    var lcString = myString.toLowerCase();  //结果: "hello"
    var String = myString.toUpperCase();  //结果: "HELLO"

  5.字符串比较
    var aString = "Hello!";
    var bString = new String("Hello!");
    if( aString == "Hello!" ){ }    //结果: tr
    if( aString == bString ){ }     //结果: tr
    if( aString === bString ){ }    //结果: false (两个对象不同,尽管它们的值相同)

  6.检索字符串
    var myString = "hello everybody.";
    // 如果检索不到会返回-1,检索到的话返回在该串中的起始位置
    if( myString.indexOf("every") > -1 ){ } //结果: tr

  7.查找替换字符串
    var myString = "I is your father.";
    var result = myString.replace("is","am");   //结果: "I am your father."

  8.特殊字符:
    \b : 后退符         \t : 水平制表符
    \n : 换行符         \v : 垂直制表符
    \f : 分页符         \r : 回车符
    \" : 双引号         \' : 单引号
    \\ : 反斜杆

  9.将字符转换成Unicode编码
    var myString = "hello";
    var code = myString.charCodeAt(3);  //返回"l"的Unicode编码(整型)
    var char = String.fromCharCode(66); //返回Unicode为66的字符

  10.将字符串转换成URL编码
    var myString = "hello all";
    var code = encodeURI(myString);     //结果: "hello%20all"
    var str = decodeURI(code);          //结果: "hello all"
    //相应的还有:  encodeURIComponent()  decodeURIComponent()

  11.将字符串转换成base64编码
    // base64Encode()  base64Decode()  用法同上

//-----------------------------------------------------------------------

·数字型(Number)
  1.声明
    var i = 1;
    var i = new Number(1);

  2.字符串与数字间的转换
    var i = 1;
    var str = i.toString();     //结果: "1"
    var str = new String(i);    //结果: "1"
    i = parseInt(str);          //结果: 1
    i = parseFloat(str);        //结果: 1.0
   
    //注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成32

  3.判断是否为有效的数字
    var i = 123;  var str = "string";
    if( typeof i == "number" ){ }   //tr
   
    //某些方法(如:parseInt,parseFloat)会返回一个特殊的值NaN(Not a Number)
    //请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型!!
    i = parseInt(str);
    if( isNaN(i) ){ }
   
  4.数字型比较
    //此知识与[字符串比较]相同

  5.小数转整数
    var f = 1.5;
    var i = Math.round(f);  //结果:2 (四舍五入)
    var i = Math.ceil(f);   //结果:2 (返回大于f的最小整数)
    var i = Math.floor(f);  //结果:1 (返回小于f的最大整数)

  6.格式化显示数字
    var i = 3.14159;
   
    //格式化为两位小数的浮点数
    var str = i.toFixed(2);     //结果: "3.14"
   
    //格式化为五位数字的浮点数(从左到右五位数字,不够补零)
    var str = i.toPrecision(5); //结果: "3.1415"

  7.X进制数字的转换
    //不是很懂 -.-
    var i = parseInt("0x1f",16);
    var i = parseInt(i,10);
    var i = parseInt("11010011",2);

  8.随机数
    //返回0-1之间的任意小数
    var rnd = Math.random();
    //返回0-n之间的任意整数(不包括n)   
    var rnd = Math.floor(Math.random() * n)

//-----------------------------------------------------------------------

·Math对象
  1. Math.abs(num) : 返回num的绝对值
  2. Math.acos(num) : 返回num的反余弦值
  3. Math.asin(num) : 返回num的反正弦值
  4. Math.atan(num) : 返回num的反正切值
  5. Math.atan2(y,x) : 返回y除以x的商的反正切值
  6. Math.ceil(num) : 返回大于num的最小整数
  7. Math.cos(num) : 返回num的余弦值
  8. Math.exp(x) : 返回以自然数为底,x次幂的数
  9. Math.floor(num) : 返回小于num的最大整数
  10.Math.log(num) : 返回num的自然对数
  11.Math.max(num1,num2) : 返回num1和num2中较大的一个
  12.Math.min(num1,num2) : 返回num1和num2中较小的一个
  13.Math.pow(x,y) : 返回x的y次方的值
  14.Math.random() : 返回0到1之间的一个随机数
  15.Math.round(num) : 返回num四舍五入后的值
  16.Math.sin(num) : 返回num的正弦值
  17.Math.sqrt(num) : 返回num的平方根
  18.Math.tan(num) : 返回num的正切值
  19.Math.E : 自然数(2.718281828459045)
  20.Math.LN2 : 2的自然对数(0.6931471805599453)
  21.Math.LN10 : 10的自然对数(2.302585092994046)
  22.Math.LOG2E : log 2 为底的自然数(1.4426950408889634)
  23.Math.LOG10E : log 10 为底的自然数(0.4342944819032518)
  24.Math.PI : π(3.141592653589793)
  25.Math.SQRT1_2 : 1/2的平方根(0.7071067811865476)
  26.Math.SQRT2 : 2的平方根(1.4142135623730951)

//-----------------------------------------------------------------------

·日期型(Date)
  1.声明
    var myDate = new Date();    //系统当前时间
   
    var myDate = new Date(yyyy, mm, dd, hh, mm, ss);
    var myDate = new Date(yyyy, mm, dd);
    var myDate = new Date("monthName dd, yyyy hh:mm:ss");
    var myDate = new Date("monthName dd, yyyy");
    var myDate = new Date(epochMilliseconds);

  2.获取时间的某部份
    var myDate = new Date();
    myDate.getYear();       //获取当前年份(2位)
    myDate.getFullYear();   //获取完整的年份(4位,1970-????)
    myDate.getMonth();      //获取当前月份(0-11,0代表1月)
    myDate.getDate();       //获取当前日(1-31)
    myDate.getDay();        //获取当前星期X(0-6,0代表星期天)
    myDate.getTime();       //获取当前时间(从1970.1.1开始的毫秒数)
    myDate.getHours();      //获取当前小时数(0-23)
    myDate.getMinutes();    //获取当前分钟数(0-59)
    myDate.getSeconds();    //获取当前秒数(0-59)
    myDate.getMilliseconds();   //获取当前毫秒数(0-999)
    myDate.toLocaleDateString();    //获取当前日期
    myDate.toLocaleTimeString();    //获取当前时间
    myDate.toLocaleString( );       //获取日期与时间

  3.计算之前或未来的时间
    var myDate = new Date();
    myDate.setDate(myDate.getDate() + 10);  //当前时间加10天
    //类似的方法都基本相同,以set开头,具体参考第2点

  4.计算两个日期的偏移量
    var i = daysBetween(beginDate,endDate); //返回天数
    var i = beginDate.getTimezoneOffset(endDate); //返回分钟数

  5.检查有效日期
    //checkDate() 只允许"mm-dd-yyyy"或"mm/dd/yyyy"两种格式的日期
    if( checkDate("2006-01-01") ){ }
   
    //正则表达式(自己写的检查 yyyy-mm-dd, yy-mm-dd, yyyy/mm/dd, yy/mm/dd 四种)
    var r = /^(\d{2}|\d{4})[\/-]\d{1,2}[\/-]\d{1,2}$/;
    if( r.test( myString ) ){ }

//-----------------------------------------------------------------------

·数组(Array)
  1.声明
    var arr = new Array();      //声明一个空数组
    var arr = new Array(10);    //声明一个10个长度的数组
    var arr = new Array("Alice", "Fred", "Jean");   //用值初始化数组
    var arr = ["Alice", "Fred", "Jean"];    //用值初始化数组
    var arr = [["A","B","C"][1,2,3]];   //声明一个二(多)维数组

  2.数组的访问
    arr[0] = "123";     //赋值
    var str = arr[0];   //获取
    arr[0][0] = "123";  //多维数组赋值

  3.数组与字符串间的转换
    var arr = ["A","B","C","D"];    //声明
   
    //数组按分隔符转换成字符串
    var str = arr.join("|");        //结果: "A|B|C|D"
   
    //字符串切割成数组
    arr = str.split("|");

  4.遍历数组
    for( var i=0; i<arr.length; i++ ){ alert(arr[i]); }

  5.排序
    var arr = [12,15,8,9];
    arr.sort(); //结果: 8 9 12 15

  6.组合与分解数组
    var arr1 = ["A","B","C","D"];
    var arr2 = ["1","2","3","4"];
   
    //奖两个数组组合成一个新的数组
    var arr = arr1.concat(arr2);    //结果: ["A","B","C","D","1","2","3","4"]
   
    //将一个数组切成两个数组(参数1:起始索引,参数2:切割长度)
    var arr3 = arr.splice(1,3);     //结果: arr3:["B","C","D"] arr["A","1","2","3","4"]
   
    //将一个数组切成两个数组,并在原数组补新值
    var arr4 = arr.splice(1,3,"AA");    //结果: arr4:["B","C","D"] arr["A","AA","1","2","3","4"]

//-----------------------------------------------------------------------

·自定义对象
  1.声明:
    function myUser(uid,pwd){
        this.uid = uid;
        this.pwd = pwd || "000000"; //默认值
        this.show = showInfo;       //方法
    }
   
    //下面的函数不是自定义对象,是自定义对象的方法.继续看下去就明白了
    function showInfo(){
        alert("用户名:" + this.uid + ",密码:" + this.pwd)
    }

  2.实例化:
    var user = new myUser("user","123456");
    var user = {uid:"user",pwd:"123456"};

  3.获取与设置
    alert("用户名是:" + user.uid);  //get
    user.uid = "newuser";           //set
    user.show();                    //调用show()方法

//-----------------------------------------------------------------------

·变量 函数 流程控制
  1.变量
    var i = 1;
    var i = 1, str = "hello";

  2.函数
    function funName(){
        //do something.
    }
    function funName(param1[,paramX]){
        //do something.
    }

  3.嵌套函数
    //某种情况,你需要创建一个函数本身所独有的函数.
    function myFunction(){
        //do something.
        privateFunction();
        function privateFunction(){
            //do something.
        }
    }

  4.匿名函数
    var tmp = function(){ alert("only test."); }
    tmp();

  5.延迟函数调用
    var tId = setTimeout("myFun()",1000);   //延迟1000毫秒后再调用myFun()函数
    f ntion myFun(){
        //do something
        clearTimeout(tId);  //销毁对象
    }

  6.流程控制
    if( condition ){ }
    if( condition ){ } else{ }
    if( condition ){ } else if( condition ){ } else{ }

    switch( expression ){
        case valA : statement; break;
        case valB : statement; break;
        default : statement; break;
    }

  7.异常捕获
    try{ expression } catch(e){ } finally{ }
   
    //不处理任何异常
    window.onerror = doNothing;
    function doNothing(){ return tr; }
   
    //异常类可用的属性
    description : 异常描述(IE,NN)
    fileName    : 异常页面URI(NN)
    lineNumber  : 异常行数(NN)
    message     : 异常描述(IE,NN)
    name        : 错误类型(IE,NN)
    number      : 错误代码(IE)
   
    //错误信息(兼容所有浏览器)
    try{ }
    catch(e){
        var msg = (e.message) ? e.message : e.description;
        alert(msg);
    }

  8.加快脚本的执行速度
    -避免使用 eval() 函数
    -避免使用 with 关键字
    -将重复的表达式赋值精简到最小
    -在较大的对象中使用索引来查找数组
    -减少 document.write() 的使用

//-----------------------------------------------------------------------

·浏览器特征( navigator )
  1.浏览器名称
    //IE : "Microsoft Internet Explorer"
    //NS : "Netscape"
    var browserName = navigator.appName;

  2.浏览器版本
    bar browserVersion = navigator.appVersion;

  3.客户端操作系统
    var isWin = ( navigator.userAgent.indexOf("Win") != -1 );
    var isMac = ( navigator.userAgent.indexOf("Mac") != -1 );
    var isUnix = ( navigator.userAgent.indexOf("X11") != -1 );

  4.判断是否支持某对象,方法,属性
    //当一个对象,方法,属性未定义时会返回undefined或null等,这些特殊值都是false
    if( document.images ){ }
    if( document.getElementById ){ }

  5.检查浏览器当前语言
    if( navigator.userLang ge ){ var l = navigator.userLang ge.toUpperCase(); }

  6.检查浏览器是否支持Cookies
    if( navigator.cookieEnabled ){ }

//-----------------------------------------------------------------------

·控制浏览器窗口( window )
  1.设置浏览器的大小
    window.resizeTo(800, 600);  //将浏览器调整到800X600大小
    window.resizeBy(50, -10);   //在原有大小上改变增大或减小窗口大小

  2.调整浏览器的位置
    window.moveTo(10, 20);      //将浏览器的位置定位到X:10 Y:20
    window.moveBy(0, 10);       //在原有位置上移动位置(偏移量)

  3.创建一个新的窗口
    var win = window.open("about.htm","winName","height=300,width=400");
   
    //参数
    alwaysLowered   //始终在其它浏览器窗口的后面(NN)
    alwaysRaised    //始终在其它浏览器窗口的前面(NN)
    channelMode     //是否为导航模式(IE)
    copyhistory     //复制历史记录至新开的窗口(NN)
    dependent       //新窗口随打开它的主窗口关闭而关闭(NN)
    fullscreen      //全屏模式(所有相关的工具栏都没有)(IE)
    location        //是否显示地址栏(NN,IE)
    men ar         //是否显示菜单栏(NN,IE)
    scrollbars      //是否显示滚动条(NN,IE)
    status          //是否显示状态栏(NN,IE)
    toolbar         //是否显示工具栏(NN,IE)
    directories     //是否显示链接栏(NN,IE)
    titlebar        //是否显示标题栏(NN)
    hotkeys         //显示菜单快捷键(NN)
    innerHeight     //内容区域的高度(NN)
    innerWidth      //内容区域的宽度(NN)
    resizable       //是否可以调整大小(NN,IE)
    top             //窗口距离桌面上边界的大小(NN,IE)
    left            //窗口距离桌面左边界的大小(NN,IE)
    height          //窗口高度(NN,IE)
    width           //浏览器的宽度

  4.与新窗口通讯
    win.focus();  //让新窗口获得焦点
    win.document.write("abc");  //在新窗口上操作
    win.document.close();       //结束流操作
    opener.close();

  5.模式窗口
    window.showModalDialog("test.htm",dialogArgs,"param");      //传递对象
    window.showModelessDialog("test.htm",myFunction,"param");   //传递函数
    window.dialogArguments  //对话框访问父窗口传递过来的对象
    window.returnVal      //父窗口获取对话框返回的值
   
    //参数
    center          //窗口居中屏幕
    dialogHeight    //窗口高度
    dialogWidth     //窗口宽度
    dialogTop       //窗口距离屏幕的上边距
    dialogLeft      //窗口距离屏幕的左边距
    edge            //边框风格(raised|sunken)
    help            //显示帮助按钮
    resizable       //是否可以改变窗口大小
    status          //是否显示状态栏
   
    //例子
    <script>
        function openDialog(myForm) {
            var result = window.showModalDialog("new.html",myForm,"center");
        }
    </script>
    <form action="#" ons mit="return false">
        <input type="text" id="txtId">
        <input type="button" id="btnChk" val="验证是否可用" onclick="openDialog(this.form);">
    </form>

    //另一个页面new.html
    <script>
        window.dialogArguments.btnChk.enabled = false;  //将父窗口中的按钮设置为不可用
        //do something to check the Id.
        window.write("用户ID: " + window.dialogArguments.txtId.val + " 可使用!"); //获取文本框的值
    </script>

//-----------------------------------------------------------------------

·管理框架网页( frames )
  1.创建一个框架架构网页
    <html>
    <frameset rows="50, *">
        <frame name="header" src="header.html">
        <frame name="main" src="main.html">
    </frameset>
    </html>

  2.访问框架网页
    window.frames[i]
    window.frames["frameName"]
    window.frameName
   
    window.frames["frameName"].frames["frameName2"]
    parent.frames["frameName"]
    top.frames["frameName"]

  3.将某一页面定向到某框架
    <a href="new.html" target="main">
    location = "new.html";
    parent.frameName.location.href = "new.html";
    top.frameName.location = "new.html";

  4.强制不让其它框架引用某页面
    if (top != self) {
        top.location.href = location.href;
    }

  5.更改框架的大小
    document.framesetName.rows = "50,*";
    document.framesetName.cols = "50,*";

  6.动态创建框架网页
    var frag = document.createDocumentFragment( );
    var newFrame= document.createElement("frame");
    newFrame.id = "header";
    newFrame.name = "header";
    newFrame.src="header.html"
    frag.appendChild(newFrame);
    newFrame = document.createElement("frame");
    newFrame.id = "main";
    newFrame.name = "main";
    newFrame.src="main.html"
    frag.appendChild(newFrame);
    document.getElementById("masterFrameset").rows = "50,*";

分享到:
评论

相关推荐

    javascript 常用方法总结

    JavaScript 常用方法总结 JavaScript 是一种广泛应用于 Web 开发的编程语言,提供了许多实用的方法来操作字符串和数组。下面将对 JavaScript 中常用的字符串和数组方法进行总结。 字符串方法 1. `charAt()`: 返回...

    js常用方法大全,比较详细

    JavaScript,简称JS,是一种广泛应用于Web开发的轻量级、解释型...以上只是JavaScript常用方法的一部分,实际开发中还有许多其他功能,如正则表达式、错误处理、类型检测等。持续学习和实践是掌握JavaScript的关键。

    js常用方法(js常用鼠标事件和其对应的方法)

    以下是一些JS常用的鼠标事件及其对应的方法: 1. `click`:当用户点击元素时触发。常用于按钮、链接等交互元素。 2. `dblclick`:双击元素时触发,通常用于执行更复杂的操作,如编辑文本或放大图片。 3. `mousedown...

    js常用方法总结

    在这个话题中,我们将深入探讨JavaScript中的一些常用方法,特别是`indexOf()`,并延伸到与定位相关的CSS属性。 `indexOf()`方法是JavaScript中字符串对象的一个内置方法,用于查找指定子字符串在原字符串中的首次...

    javascript常用对象及方法

    javascript常用对象及方法 javascript中有许多常用的对象和方法,了解这些对象和方法可以帮助我们更好地使用javascript。下面我们将详细介绍这些对象和方法。 一、窗口对象Window Window对象是javascript中的顶级...

    javascript常用函数 javascript 常用库

    二、JavaScript常用库 1. jQuery:这是一个广泛使用的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互。例如,`$(selector).click(function() {})`用于绑定点击事件。 2. Lodash:提供了大量实用的工具...

    常用js方法封装

    "常用js方法封装"的主题聚焦于将常见的JavaScript功能整理成可重用的模块,以提高代码的复用性和维护性。"do.1.21.js"文件很可能就是这种封装的实现,使用了JSDuck工具来生成相关的文档,帮助开发者理解和使用这些...

    Javascript中字符串相关常用的使用方法总结

    本文将详细介绍JavaScript中与字符串相关的常用方法,帮助开发者更好地理解和掌握这些功能。 #### 二、基础字符串操作 1. **字符串连接** - 在JavaScript中,可以使用`+`符号来连接字符串。 ```javascript var ...

    js-常用方法列表

    根据提供的文件信息,本文将对...以上就是从提供的文件信息中提取并解释的三个JavaScript常用方法的实现过程。这些方法可以帮助开发者高效地实现社交应用中的常见功能,如获取好友列表、个人信息和照片列表等。

    javascript常用方法实例

    在这个“javascript常用方法实例”中,我们将会探讨一些JavaScript的核心概念和常用方法,以及它们在实际应用场景中的实例。 1. **DOM操作**:Document Object Model(DOM)是HTML和XML文档的结构化表示,...

    javascript常用方法

    以下是一些常用的JavaScript函数和方法,它们在日常开发中非常实用。 1. 字符串处理: - `cutstr(str, len)`:这个函数用于截取字符串,根据指定长度`len`对字符串进行截断,并在末尾添加省略号。它考虑了中文字符...

    js常用技术,包括一些常用方法

    本资源包“JavaScript常用技术”包含了图片处理特效、文字特效以及一系列常用的JavaScript方法,是开发者学习和实践JavaScript技术的宝贵资料。 一、图片处理特效 在Web开发中,图片处理是不可或缺的一部分。...

    js常用属性方法

    ### JS常用属性与方法详解 JavaScript(简称JS)是一种广泛使用的、基于原型的脚本语言,主要用于网页开发,提供交互性和动态更新的能力。在JS中,掌握数组的属性和方法对于编写高效、灵活的代码至关重要。 #### ...

    JavaScript常用的方法大全集

    JavaScript常用的方法大全集 项目介绍 JavaScript常用的方法大集合, 里面有对json处理的各种方法, 对时间处理的各种方法。 从手机端,PC端,从ie5到ie11都兼容。 整个项目都是免费开源的。 可以用于开发大型项目...

    js操作数组元素常用方法

    除此之外,还有一些其他常用的数组方法: - **替换元素**:`arr[index] = value` 直接通过索引设置新值。 - **查找并返回与给定值相等的所有元素的索引**:`arr.findIndex(callback[, thisArg])` - **获取数组的...

    Js操作Excel常用方法.pdf

    在介绍JavaScript操作Excel的常用方法之前,首先要明确一点,这些操作通常是借助COM自动化技术(如ActiveX对象)来实现的,因为这涉及到直接与Excel应用程序的接口交互。然而,需要注意的是,这种做法主要适用于...

    JS常用语法大全,JavaScript常用语法大全

    ### JS常用语法大全 #### 1. 输出当前时间 ```html now() %&gt; ``` 这里出现了一个错误,`now()` 并不是JavaScript或ASP内置函数。在JavaScript中,可以使用`Date`对象来获取当前时间: ```javascript document....

    js常用方法及技巧

    ### JS常用方法及技巧知识点详解 #### 一、概述 JavaScript (简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本来实现的,但是它也被用于服务器端编程(例如...

    js常用方法8张脑图.zip

    在给定的压缩包文件“js常用方法8张脑图.zip”中,包含的8张脑图涵盖了JavaScript的一些核心知识点,包括时间格式化、URL参数处理、数组去重、随机验证码生成、DOM节点操作以及DOM元素的样式操作。以下是对这些知识...

    JavaScript 常用公共方法

    在JavaScript中,有一些常用的公共方法和概念,这些是开发者必须掌握的基础知识。 一、自定义封装函数 在JavaScript中,我们可以自定义函数来封装代码,提高代码的可重用性和可维护性。例如: ```javascript ...

Global site tag (gtag.js) - Google Analytics