
正文
js的特殊方法 js常用方法总结
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JavaScript中如何使用变量?有什么特殊的语法规则?
使用变量之前我们需要定义变量,而在JavaScript中声明变量很容易:
JavaScript声明变量都以var开始,var需全小写,它是JavaScript的关键字;var后面紧跟的是变量名,如下:
var day;
var birthday;
var foo;
var x;
var bingo123;
上述没有赋值的变量的值为 undefined,当你赋值不同的值,他的类型也是跟着改变,我想这也是JavaScript比较特别的语法规则吧。很多编程语言声明变量时,都是要指明变量的类型。如:int, double, string, boolean, date, array, object等;而且变量类型一旦指定,就不能改变了。但这在JavaScript中不同,JavaScript对类型没有这么严格的要求,它是弱类型语言;所以也就造成它在使用上有所不同:
1、声明时用var,且var关键字甚至可以省略,如:
myScore = 96; //好的习惯是不要省略var关键字。
2、变量的类型是可变的,如:
myVar = 200; //myVar是整形。
myVar = “Hello”; //myVar是字符串,字符串用一连串的字符放在双引号或单引号中表示。
//但注意不能混合用单双引号,当字符串以双引号开始,就必须用双引号结束。
myVar = true; //将true和false赋值给myVar,这时myVar就存储了布尔值,这说明变量中存
//储的类型是可变的。这里true和false需全小写,不要放在引号中,它是JavaScript
//的关键字,也是布尔的两个取值。
3、 JavaScript虽然是弱类型,但也是有数据类型的区别,如:JavaScript对待不同的数据类型处理方式不同。数值,字符串类型在使用 ‘+’运算符时,数值类型执行的是数学加法,而字符串执行连接操作。
4、 JavaScript中一个变量就可以保存任何类型的数据,即使较复杂的数据类型可以保存,如数组,对象,甚至是函数。
我觉得使用JavaScript的变量,注意以上这些点就可以了,更详细的内容推荐你可以上教程网站秒秒学了解。
相关问答
Q1: 对于JS 中编码(encode)和解码(decode)的三种方法
JS对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
下面简单介绍一下它们的区别
1 escape()函数
定义和用法
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
语法
escape(string)
参数 描述
string 必需。要被转义或编码的字符串。
返回值
已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。
说明
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。
2 encodeURI()函数
定义和用法
encodeURI() 函数可把字符串作为 URI 进行编码。
语法
encodeURI(URIstring)
参数 描述
URIstring 必需。一个字符串,含有 URI 或其他要编码的文本。
返回值
URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@=+$,#
3 encodeURIComponent() 函数
定义和用法
encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。
语法
encodeURIComponent(URIstring)
参数 描述
URIstring 必需。一个字符串,含有 URI 组件或其他要编码的文本。
返回值
URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
说明
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
提示和注释
提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
4 总结:
通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:document.write(' 退出
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("百度ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
示例(摘自 W3School):
1 escape()
document.write(escape("Visit W3School!") + "
")
document.write(escape("?!=()#%"))
输出结果:
Visit%20W3School%21
%3F%21%3D%28%29%23%25%26
2 encodeURI()
document.write(encodeURI("")+ "
")
document.write(encodeURI(" first/")+ "
")
document.write(encodeURI(",/?:@=+$#"))
输出结果:
,/?:@=+$#
对整个URL进行编码,而URL的特定标识符不会被转码。
3 encodeURIComponent()
例1:
document.write(encodeURIComponent(""))
document.write("
")
document.write(encodeURIComponent(" 1/"))
document.write("
")
document.write(encodeURIComponent(",/?:@=+$#"))
输出结果:
http%3A%2F%2F
http%3A%2F%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23
对URL中的参数进行编码,因为参数也是一个URL,如果不编码会影响整个URL的跳转。
Q2: JS自带有几种方法?
1 创建脚本块
1: script language=”JavaScript”
2: JavaScript code goes here
3: /script
2 隐藏脚本代码
1: script language=”JavaScript”
2: !--
3: document.write(“Hello”);
4: // --
5: /script
在不支持JavaScript的浏览器中将不执行相关代码
3 浏览器不支持的时候显示
1: noscript
2: Hello to the non-JavaScript browser.
3: /noscript
4 链接外部脚本文件
1: script language=”JavaScript” src="”filename.js"”/script
5 注释脚本
1: // This is a comment
2: document.write(“Hello”); // This is a comment
3: /*
4: All of this
5: is a comment
6: */
6 输出到浏览器
1: document.write(“strongHello/strong”);
7 定义变量
1: var myVariable = “some value”;
8 字符串相加
1: var myString = “String1” + “String2”;
9 字符串搜索
1: script language=”JavaScript”
2: !--
3: var myVariable = “Hello there”;
4: var therePlace = myVariable.search(“there”);
5: document.write(therePlace);
6: // --
7: /script
10 字符串替换
1: thisVar.replace(“Monday”,”Friday”);
11 格式化字串
1: script language=”JavaScript”
2: !--
3: var myVariable = “Hello there”;
4: document.write(myVariable.big() + “br”);
5: document.write(myVariable.blink() + “br”);
6: document.write(myVariable.bold() + “br”);
7: document.write(myVariable.fixed() + “br”);
8: document.write(myVariable.fontcolor(“red”) + “br”);
9: document.write(myVariable.fontsize(“18pt”) + “br”);
10: document.write(myVariable.italics() + “br”);
11: document.write(myVariable.small() + “br”);
12: document.write(myVariable.strike() + “br”);
13: document.write(myVariable.sub() + “br”);
14: document.write(myVariable.sup() + “br”);
15: document.write(myVariable.toLowerCase() + “br”);
16: document.write(myVariable.toUpperCase() + “br”);
17:
18: var firstString = “My String”;
19: var finalString = firstString.bold().toLowerCase().fontcolor(“red”);
20: // --
21: /script
12 创建数组
1: script language=”JavaScript”
2: !--
3: var myArray = new Array(5);
4: myArray[0] = “First Entry”;
5: myArray[1] = “Second Entry”;
6: myArray[2] = “Third Entry”;
7: myArray[3] = “Fourth Entry”;
8: myArray[4] = “Fifth Entry”;
9: var anotherArray = new Array(“First Entry”,”Second Entry”,”Third Entry”,”Fourth Entry”,”Fifth Entry”);
10: // --
11: /script
13 数组排序
1: script language=”JavaScript”
2: !--
3: var myArray = new Array(5);
4: myArray[0] = “z”;
5: myArray[1] = “c”;
6: myArray[2] = “d”;
7: myArray[3] = “a”;
8: myArray[4] = “q”;
9: document.write(myArray.sort());
10: // --
11: /script
14 分割字符串
1: script language=”JavaScript”
2: !--
3: var myVariable = “a,b,c,d”;
4: var stringArray = myVariable.split(“,”);
5: document.write(stringArray[0]);
6: document.write(stringArray[1]);
7: document.write(stringArray[2]);
8: document.write(stringArray[3]);
9: // --
10: /script
15 弹出警告信息
1: script language=”JavaScript”
2: !--
3: window.alert(“Hello”);
4: // --
5: /script
16 弹出确认框
1: script language=”JavaScript”
2: !--
3: var result = window.confirm(“Click OK to continue”);
4: // --
5: /script
17 定义函数
1: script language=”JavaScript”
2: !--
3: function multiple(number1,number2) {
4: var result = number1 * number2;
5: return result;
6: }
7: // --
8: /script
18 调用JS函数
1: a href=”#” onClick=”functionName()”Link text/a
2: a href="/”javascript:functionName"()”Link text/a
19 在页面加载完成后执行函数
1: body onLoad=”functionName();”
2: Body of the page
3: /body
20 条件判断
1: script
2: !--
3: var userChoice = window.confirm(“Choose OK or Cancel”);
4: var result = (userChoice == true) ? “OK” : “Cancel”;
5: document.write(result);
6: // --
7: /script
21 指定次数循环
1: script
2: !--
3: var myArray = new Array(3);
4: myArray[0] = “Item 0”;
5: myArray[1] = “Item 1”;
6: myArray[2] = “Item 2”;
7: for (i = 0; i myArray.length; i++) {
8: document.write(myArray[i] + “br”);
9: }
10: // --
11: /script
22 设定将来执行
1: script
2: !--
3: function hello() {
4: window.alert(“Hello”);
5: }
6: window.setTimeout(“hello()”,5000);
7: // --
8: /script
23 定时执行函数
1: script
2: !--
3: function hello() {
4: window.alert(“Hello”);
5: window.setTimeout(“hello()”,5000);
6: }
7: window.setTimeout(“hello()”,5000);
8: // --
9: /script
24 取消定时执行
1: script
2: !--
3: function hello() {
4: window.alert(“Hello”);
5: }
6: var myTimeout = window.setTimeout(“hello()”,5000);
7: window.clearTimeout(myTimeout);
8: // --
9: /script
25 在页面卸载时候执行函数
1: body onUnload=”functionName();”
2: Body of the page
3: /body
JavaScript就这么回事2:浏览器输出
26 访问document对象
1: script language=”JavaScript”
2: var myURL = document.URL;
3: window.alert(myURL);
4: /script
27 动态输出HTML
1: script language=”JavaScript”
2: document.write(“pHere’s some information about this document:/p”);
3: document.write(“ul”);
4: document.write(“liReferring Document: “ + document.referrer + “/li”);
5: document.write(“liDomain: “ + document.domain + “/li”);
6: document.write(“liURL: “ + document.URL + “/li”);
7: document.write(“/ul”);
8: /script
28 输出换行
1: document.writeln(“stronga/strong”);
2: document.writeln(“b”);
29 输出日期
1: script language=”JavaScript”
2: var thisDate = new Date();
3: document.write(thisDate.toString());
4: /script
30 指定日期的时区
1: script language=”JavaScript”
2: var myOffset = -2;
3: var currentDate = new Date();
4: var userOffset = currentDate.getTimezoneOffset()/60;
5: var timeZoneDifference = userOffset - myOffset;
6: currentDate.setHours(currentDate.getHours() + timeZoneDifference);
7: document.write(“The time and date in Central Europe is: “ + currentDate.toLocaleString());
8: /script
31 设置日期输出格式
1: script language=”JavaScript”
2: var thisDate = new Date();
3: var thisTimeString = thisDate.getHours() + “:” + thisDate.getMinutes();
4: var thisDateString = thisDate.getFullYear() + “/” + thisDate.getMonth() + “/” + thisDate.getDate();
5: document.write(thisTimeString + “ on “ + thisDateString);
6: /script
32 读取URL参数
1: script language=”JavaScript”
2: var urlParts = document.URL.split(“?”);
3: var parameterParts = urlParts[1].split(“”);
4: for (i = 0; i parameterParts.length; i++) {
5: var pairParts = parameterParts[i].split(“=”);
6: var pairName = pairParts[0];
7: var pairValue = pairParts[1];
8: document.write(pairName + “ :“ +pairValue );
9: }
10: /script
你还以为HTML是无状态的么?
33 打开一个新的document对象
1: script language=”JavaScript”
2: function newDocument() {
3: document.open();
4: document.write(“pThis is a New Document./p”);
5: document.close();
6: }
7: /script
34 页面跳转
1: script language=”JavaScript”
2: window.location = “”;
3: /script
35 添加网页加载进度窗口
1: html
2: head
3: script language='javaScript'
4: var placeHolder = window.open('holder.html','placeholder','width=200,height=200');
5: /script
6: titleThe Main Page/title
7: /head
8: body onLoad='placeHolder.close()'
9: pThis is the main page/p
10: /body
11: /html
JavaScript就这么回事3:图像
36 读取图像属性
1: img src="”image1.jpg"” name=”myImage”
2: a href=”# ” onClick=”window.alert(document.myImage.width)”Width/a
3:
37 动态加载图像
1: script language=”JavaScript”
2: myImage = new Image;
3: myImage.src = “Tellers1.jpg”;
4: /script
38 简单的图像替换
1: script language=”JavaScript”
2: rollImage = new Image;
3: rollImage.src = “rollImage1.jpg”;
4: defaultImage = new Image;
5: defaultImage.src = “image1.jpg”;
6: /script
7: a href="/”myUrl"” onMouseOver=”document.myImage.src = rollImage.src;”
8: onMouseOut=”document.myImage.src = defaultImage.src;”
9: img src="”image1.jpg"” name=”myImage” width=100 height=100 border=0
39 随机显示图像
1: script language=”JavaScript”
2: var imageList = new Array;
3: imageList[0] = “image1.jpg”;
4: imageList[1] = “image2.jpg”;
5: imageList[2] = “image3.jpg”;
6: imageList[3] = “image4.jpg”;
7: var imageChoice = Math.floor(Math.random() * imageList.length);
8: document.write(‘img src=”’ + imageList[imageChoice] + ‘“’);
9: /script
40 函数实现的图像替换
1: script language=”JavaScript”
2: var source = 0;
3: var replacement = 1;
4: function createRollOver(originalImage,replacementImage) {
5: var imageArray = new Array;
6: imageArray[source] = new Image;
7: imageArray[source].src = originalImage;
8: imageArray[replacement] = new Image;
9: imageArray[replacement].src = replacementImage;
10: return imageArray;
11: }
12: var rollImage1 = createRollOver(“image1.jpg”,”rollImage1.jpg”);
13: /script
14: a href=”#” onMouseOver=”document.myImage1.src = rollImage1[replacement].src;”
15: onMouseOut=”document.myImage1.src = rollImage1[source].src;”
16: img src="”image1.jpg"” width=100 name=”myImage1” border=0
17: /a
41 创建幻灯片
1: script language=”JavaScript”
2: var imageList = new Array;
3: imageList[0] = new Image;
4: imageList[0].src = “image1.jpg”;
5: imageList[1] = new Image;
6: imageList[1].src = “image2.jpg”;
7: imageList[2] = new Image;
8: imageList[2].src = “image3.jpg”;
9: imageList[3] = new Image;
10: imageList[3].src = “image4.jpg”;
11: function slideShow(imageNumber) {
12: document.slideShow.src = imageList[imageNumber].src;
13: imageNumber += 1;
14: if (imageNumber imageList.length) {
15: window.setTimeout(“slideShow(“ + imageNumber + “)”,3000);
16: }
17: }
18: /script
19: /head
20: body onLoad=”slideShow(0)”
21: img src="”image1.jpg"” width=100 name=”slideShow”
42 随机广告图片
1: script language=”JavaScript”
2: var imageList = new Array;
3: imageList[0] = “image1.jpg”;
4: imageList[1] = “image2.jpg”;
5: imageList[2] = “image3.jpg”;
6: imageList[3] = “image4.jpg”;
7: var urlList = new Array;
8: urlList[0] = “”;
9: urlList[1] = “”;
10: urlList[2] = “”;
11: urlList[3] = “”;
12: var imageChoice = Math.floor(Math.random() * imageList.length);
13: document.write(‘a href=”’ + urlList[imageChoice] + ‘“img src=”’ + imageList[imageChoice] + ‘“/a’);
14: /script
JavaScript就这么回事4:表单
还是先继续写完JS就这么回事系列吧~
43 表单构成
1: form method=”post” action=”target.html” name=”thisForm”
2: input type=”text” name=”myText”
3: select name=”mySelect”
4: option value=”1”First Choice/option
5: option value=”2”Second Choice/option
6: /select
7: br
8: input type=”submit” value=”Submit Me”
9: /form
44 访问表单中的文本框内容
1: form name=”myForm”
2: input type=”text” name=”myText”
3: /form
4: a href='#' onClick='window.alert(document.myForm.myText.value);'Check Text Field/a
45 动态复制文本框内容
1: form name=”myForm”
2: Enter some Text: input type=”text” name=”myText”br
3: Copy Text: input type=”text” name=”copyText”
4: /form
5: a href=”#” onClick=”document.myForm.copyText.value =
6: document.myForm.myText.value;”Copy Text Field/a
46 侦测文本框的变化
1: form name=”myForm”
2: Enter some Text: input type=”text” name=”myText” onChange=”alert(this.value);”
3: /form
47 访问选中的Select
1: form name=”myForm”
2: select name=”mySelect”
3: option value=”First Choice”1/option
4: option value=”Second Choice”2/option
5: option value=”Third Choice”3/option
6: /select
7: /form
8: a href='#' onClick='alert(document.myForm.mySelect.value);'Check Selection List/a
48 动态增加Select项
1: form name=”myForm”
2: select name=”mySelect”
3: option value=”First Choice”1/option
4: option value=”Second Choice”2/option
5: /select
6: /form
7: script language=”JavaScript”
8: document.myForm.mySelect.length++;
9: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].text = “3”;
10: document.myForm.mySelect.options[document.myForm.mySelect.length - 1].value = “Third Choice”;
11: /script
49 验证表单字段
1: script language=”JavaScript”
2: function checkField(field) {
3: if (field.value == “”) {
4: window.alert(“You must enter a value in the field”);
5: field.focus();
6: }
7: }
8: /script
9: form name=”myForm” action=”target.html”
10: Text Field: input type=”text” name=”myField”onBlur=”checkField(this)”
11: brinput type=”submit”
12: /form
50 验证Select项
1: function checkList(selection) {
2: if (selection.length == 0) {
3: window.alert(“You must make a selection from the list.”);
4: return false;
5: }
6: return true;
7: }
51 动态改变表单的action
1: form name=”myForm” action=”login.html”
2: Username: input type=”text” name=”username”br
3: Password: input type=”password” name=”password”br
4: input type=”button” value=”Login” onClick=”this.form.submit();”
5: input type=”button” value=”Register” onClick=”this.form.action = ‘register.html’; this.form.submit();”
6: input type=”button” value=”Retrieve Password” onClick=”this.form.action = ‘password.html’; this.form.submit();”
7: /form
52 使用图像按钮
1: form name=”myForm” action=”login.html”
2: Username: input type=”text” name=”username”br
3: Password: input type=”password”name=”password”br
4: input type=”image” src="”login.gif"” value=”Login”
5: /form
6:
53 表单数据的加密
1: SCRIPT LANGUAGE='JavaScript'
2: !--
3: function encrypt(item) {
4: var newItem = '';
5: for (i=0; i item.length; i++) {
6: newItem += item.charCodeAt(i) + '.';
7: }
8: return newItem;
9: }
10: function encryptForm(myForm) {
11: for (i=0; i myForm.elements.length; i++) {
12: myForm.elements[i].value = encrypt(myForm.elements[i].value);
13: }
14: }
15:
16: //--
17: /SCRIPT
18: form name='myForm' onSubmit='encryptForm(this); window.alert(this.myField.value);'
19: Enter Some Text: input type=text name=myFieldinput type=submit
20: /form
JavaScript就这么回事5:窗口和框架
54 改变浏览器状态栏文字提示
1: script language=”JavaScript”
2: window.status = “A new status message”;
3: /script
55 弹出确认提示框
1: script language=”JavaScript”
2: var userChoice = window.confirm(“Click OK or Cancel”);
3: if (userChoice) {
4: document.write(“You chose OK”);
5: } else {
6: document.write(“You chose Cancel”);
7: }
8: /script
56 提示输入
1: script language=”JavaScript”
2: var userName = window.prompt(“Please Enter Your Name”,”Enter Your Name Here”);
3: document.write(“Your Name is “ + userName);
4: /script
57 打开一个新窗口
1: //打开一个名称为myNewWindow的浏览器新窗口
2: script language=”JavaScript”
3: window.open(“”,”myNewWindow”);
4: /script
58 设置新窗口的大小
1: script language=”JavaScript”
2: window.open(“”,”myNewWindow”,'height=300,width=300');
3: /script
59 设置新窗口的位置
1: script language=”JavaScript”
2: window.open(“”,”myNewWindow”,'height=300,width=300,left=200,screenX=200,top=100,screenY=100');
3: /script
60 是否显示工具栏和滚动栏
1: script language=”JavaScript”
2: window.open(“http:
61 是否可以缩放新窗口的大小
1: script language=”JavaScript”
2: window.open('' , 'myNewWindow', 'resizable=yes' );/script
62 加载一个新的文档到当前窗口
1: a href='#' onClick='document.location = '125a.html';' Open New Document/a
63 设置页面的滚动位置
1: script language=”JavaScript”
2: if (document.all) { //如果是IE浏览器则使用scrollTop属性
3: document.body.scrollTop = 200;
4: } else { //如果是NetScape浏览器则使用pageYOffset属性
5: window.pageYOffset = 200;
6: }/script
64 在IE中打开全屏窗口
1: a href='#' onClick=”window.open('','newWindow','fullScreen=yes');”Open a full-screen window/a
65 新窗口和父窗口的操作
1: script language=”JavaScript”
2: //定义新窗口
3: var newWindow = window.open(“128a.html”,”newWindow”);
4: newWindow.close(); //在父窗口中关闭打开的新窗口
5: /script
6: 在新窗口中关闭父窗口
7: window.opener.close()
66 往新窗口中写内容
1: script language=”JavaScript”
2: var newWindow = window.open(“”,”newWindow”);
3: newWindow.document.open();
4: newWindow.document.write(“This is a new window”);
5: newWIndow.document.close();
6: /script
67 加载页面到框架页面
1: frameset cols=”50%,*”
2: frame name=”frame1” src="”135a.html"”
3: frame name=”frame2” src="”about:blank"”
4: /frameset
5: 在frame1中加载frame2中的页面
6: parent.frame2.document.location = “135b.html”;
68 在框架页面之间共享脚本
如果在frame1中html文件中有个脚本
1: function doAlert() {
2: window.alert(“Frame 1 is loaded”);
3: }
那么在frame2中可以如此调用该方法
1: body onLoad=”parent.frame1.doAlert();”
2: This is frame 2.
3: /body
69 数据公用
可以在框架页面定义数据项,使得该数据可以被多个框架中的页面公用
1: script language=”JavaScript”
2: var persistentVariable = “This is a persistent value”;
3: /script
4: frameset cols=”50%,*”
5: frame name=”frame1” src="”138a.html"”
6: frame name=”frame2” src="”138b.html"”
7: /frameset
这样在frame1和frame2中都可以使用变量persistentVariable
70 框架代码库
根据以上的一些思路,我们可以使用一个隐藏的框架页面来作为整个框架集的代码库
1: frameset cols=”0,50%,*”
2: frame name=”codeFrame” src="”140code.html"”
3: frame name=”frame1” src="”140a.html"”
4: frame name=”frame2” src="”140b.html"”
5: /frameset
Q3: js方法调用
JS函数的定义与调用方法
JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式
1.方法调用模式:
先定义一个对象,然后在对象的属性中定义方法,通过myobject.property来执行方法,this即指当前的myobject
对象。
var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
};
blogInfo.showBlog();
2.函数调用模式
定义一个函数,设置一个变量名保存函数,这时this指向到window对象。
var myfunc = function(a,b){
return a+b;
}
alert(myfunc(3,4));
3.构造器调用模式
定义一个函数对象,在对象中定义属性,在其原型对象中定义方法。在使用prototype的方法时,必须实例化该对象才能调用其方法。
var myfunc = function(a){
this.a = a;
};
myfunc.prototype = {
show:function(){alert(this.a);}
}
var newfunc = new myfunc("123123123");
newfunc.show();
4.apply,call调用模式
var myobject={};
var sum = function(a,b){
return a+b;
};
var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]);
alert(sum2);
Q4: js运算符的一些特殊用法
本文集合了了js运算符的一些特殊应用。
js位运行符的运用。
js运算符的使用技巧。
是否包含指定字符:
~
~"str1".indexOf("str2")
str1
被查找的字符串
str2
查找的字符串
如果
str1
不含有
str2
,则返回数字
。
例:
var
str1='abc';
var
str2='a';
if(~str1.indexOf(str2)){
console.log('有'+str2)
//有a
}else{
console.log('无'+str2)
}
取整:
|
num
|
num
整数
例:
1.3
|
//1
取半:
num
1
num
整数
例:求
50
的
1/2
50
1
//25
有除号
/
干嘛不用呢?多好呀:
50/2
//25
成长值评级:
||
需求1:
成长值为5是1星;
成长值为10是2星;
成长值为12是3星;
成长值为15是4星;
其他都是0星。
({'5':1,'10':2,'12':3,'15':4}[val]
||
0);
val
成长值。
判断奇偶:
num
1
num
整数
例:
var
num=3;
if
(num
1)
{
console.log("num是奇数");
//num是奇数
}
else
{
console.log("num是偶数");
}
交换两个数字的值:
^=
使用位运行符:
var
num1
=
1,
num2
=
2;
num1
^=
num2;
num2
^=
num1;
num1
^=
num2;
console.log(num1,num2);
//2
1
使用数组:
var
num1
=
1,
num2
=
2;
num1
=
[num2,
num2
=
num1][0];
console.log(num1,num2);
//2
1
2的n次方:
和
**
1
n-1
使用位运行符:
2的n次方
例:2的3次方:13
//8
使用幂运行符:
个人觉得这个不如直接使用
幂
的方式好。
x的y次方:
x**y
例:2的3次方:2**3
//8
方法比较:
使用
的方式可以支持负数,**
需要用括号否则出错。
使用
**
比较直观,没研究过
方法的任意数的任意次方的规律。
13
//8
2**3
//8
-13
//-8
-2**3
//
报错
-(2**3)
//-8
32
//12
错误
3**2
//9
正确
是否是指定字符串开头:
!
和
^
!str1.indexOf("str2")
例:
var
str1='abc';
var
str2='a';
if(!str1.indexOf(str2)){
console.log('是开头')
}else{
console.log('不是开头')
}
使用正则方式
/^a/.test('abc')
//a开头,true
/c$/.test('abc')
//c结尾,true
字符串转数字:
+
+str
例:
var
str='123';
typeof(str)
//string
typeof(+str)
//number
转为
Boolean
值:
!!
!!obj
例:
!!'text'
//true
js的特殊方法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js常用方法总结、js的特殊方法的信息别忘了在本站进行查找喔。








