JavaScript学习笔记(一):Basic Knowledge

来源:互联网 发布:ih5制作软件 编辑:程序博客网 时间:2024/05/21 12:49

1.toggle()方法切换元素的可见状态

$(selector).toggle(speed, callback, switch);参数可选

2.<script>document.getElementById("demo").innerHTML ="段落已修改。";</script>

3.如果您的浏览器支持调试,你可以使用 console.log() 方法在浏览器中显示JavaScript 值。

console.log(c);

4.在 JavaScript 中,用分号来结束语句是可选的。

5.JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。下面的两行代码是等效的:

varperson="Hege";

varperson = "Hege";

6.在文本字符串中使用反斜杠对代码行进行换行。下面的例子会正确地显示:

document.write("你好\

世界!");

不过,不能像这样折行:

document.write\ 

("你好世界!");

7.如果重新声明 JavaScript 变量,该变量的值不会丢失:

变量 carname 的值依然是"Volvo":

varcarname="Volvo"; 

varcarname;

8.执行过以下语句后,变量carname 的值将是undefined

varcarname;

9.声明也可横跨多行:

varlastname="Doe",

age=30,

job="carpenter";

10.JavaScript 数组

var cars1=newArray();

cars1[0]="Saab";

cars1[1]="Volvo";

var cars2=newArray("Saab","Volvo","BMW");

var cars3=["Saab","Volvo","BMW"];

11.JavaScript对象

varperson={

firstname: "John",

lastname  : "Doe",

id        : 5566

};

对象属性有两种寻址方式:

name=person.lastname;

name=person["lastname"];

12.Undefined& NULL

Undefined这个值表示变量不含有值。

可以通过将变量的值设置为null 来清空变量。

13.声明新变量时,可以使用关键词 "new"来声明其类型:

varcarname=new String;

varx=      new Number;

vary=      new Boolean;

14.对象方法

使用以下语法创建对象方法:methodName: function() { code lines }

使用以下语法访问对象方法:objectName.methodName()

15.函数语法

functionfunctionname()

{

执行代码

}

16.把值赋给尚未声明的变量,该变量将被自动作为全局变量声明

carname="Volvo";

将声明一个全局变量carname,即使它在函数内执行。

以下代码正确执行,若添加 varcarName="Volvo",function2会报错"carName is not defined"

<!DOCTYPEhtml>

<html>

<body>

<Buttononclick="myFunction()">1</Button>

<Buttononclick="myFunction2()">2</Button>

 

<script>

functionmyFunction() {

     carName = "Volvo";

}

functionmyFunction2(){alert(carName);}

</script>

 

</body>

</html>

17.字符串

可以使用索引位置来访问字符串中的每个字符:

varcarname = 'Volvo XC60';

varcharacter = carname[7];

varsln = carname.length;

反斜杠是一个转义字符。转义字符将特殊字符转换为字符串字符:

如果把数字与字符串相加,结果将成为字符串!

18.逻辑运算符

算符

描述

例子

&&

and

(x < 10 && y > 1) 为 true

||

or

(x==5 || y==5) 为 false

!

not

!(x==y) 为 true

19.条件运算符

variablename=(condition)?value1:value2

20.For/In 循环

varperson={fname:"John",lname:"Doe",age:25};

for(x in person)

  {

  txt=txt + person[x];

  }

21.JavaScript标签

如需标记JavaScript 语句,请在语句之前加上冒号:

label:

statements

break和 continue 语句仅仅是能够跳出代码块的语句。

 

语法:

breaklabelname;

continuelabelname;

continue语句(带有或不带标签引用)只能用在循环中。

 

break语句(不带标签引用),只能用在循环或 switch 中。

22.typeof()

typeof"John"                // 返回string

typeof3.14                  // 返回 number

typeoffalse                 // 返回 boolean

typeof[1,2,3,4]             // 返回 object

typeof{name:'John', age:34} // 返回 object

typeofnull                         //返回object

typeofundefined             //返回undefined

typeofNaN                         //返回number 

23.JavaScript数据类型

在JavaScript 中有 5 中不同的数据类型:

string

number

boolean

object

function

3种对象类型:

Object

Date

Array

2个不包含任何值的数据类型:

null

undefined

24.constructor 属性

constructor属性返回所有 JavaScript 变量的构造函数。

 

"John".constructor                 // 返回函数 String()  { [native code] }

(3.14).constructor                 // 返回函数 Number()  { [native code] }

false.constructor                  // 返回函数 Boolean() { [nativecode] }

[1,2,3,4].constructor              // 返回函数 Array()   { [native code] }

{name:'John',age:34}.constructor  // 返回函数Object()  { [native code] }

newDate().constructor             // 返回函数Date()    { [native code] }

function() {}.constructor         // 返回函数Function(){ [native code] }

25.JavaScript 类型转换

String(x)         // 将变量 x 转换为字符串并返回

String(false)

String(Date())

 

(123).toString()

true.toString()      // 返回 "true"

Date().toString()

 

Number("3.14")    // 返回 3.14

Number("")       // 返回 0

Number("")        // 返回 0

Number("9988")   // 返回 NaN
 

Number(false)     // 返回 0

Number(true)      // 返回 1

 

d =new Date();

Number(d)          // 返回 1404568027739

 

d =new Date();

d.getTime()        // 返回 1404568027739

 

26.一元运算符 +

Operator+ 可用于将变量转换为数字:

 

var y= "5";      // y 是一个字符串

var x= + y;      // x 是一个数字

 

尝试一下»

如果变量不能转换,它仍然会是一个数字,但值为NaN (不是一个数字):

 

var y= "John";   // y 是一个字符串

var x= + y;      // x 是一个数字 (NaN)

27.自动转换类型 Type Conversion

5 +null    // 返回 5         because null is converted to 0

"5"+ null  // 返回"5null"   because null is converted to"null"

"5"+ 1     // 返回 "51"      because 1 is converted to"1" 

"5"- 1     // 返回 4         because "5" is converted to5

 

document.getElementById("demo").innerHTML= myVar;

// ifmyVar = {name:"Fjohn"}  //toString 转换为 "[object Object]"

// ifmyVar = [1,2,3,4]       // toString 转换为"1,2,3,4"

// ifmyVar = new Date()      // toString 转换为"Fri Jul 18 2014 09:08:55 GMT+0200"

 

28.正则表达式

/pattern/modifiers;

修饰符 可以在全局搜索中不区分大小写:

修饰符

描述

i

执行对大小写不敏感的匹配。

g

执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m

执行多行匹配。

 

在JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

search()方法

用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

replace()方法

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

RegExp.test()方法

用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回true,否则返回 false。

RegExp.exec()

方法用于检索字符串中的正则表达式的匹配。该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为null。

29.debugger关键字

var x= 15 * 5;

debugger;

document.getElementbyId("demo").innerHTML= x;

开启debugger ,代码在第三行前停止执行

30.JavaScript 表单验证

functionvalidateForm()

{

varx=document.forms["myForm"]["fname"].value;

if(x==null || x=="")

  {

  alert("First name must be filledout");

  return false;

  }

}

以上函数在form 表单提交时被调用:

 

31.href="#"与href="javascript:void(0)"的区别

<ahref="javascript:void(0);">点我没有反应的!</a>

<ahref="#pos">点我定位到指定位置!</a>

<br><br><br><p id="pos">尾部定位点</p>

 

32.在web页面中全局变量属于 window 对象。

33.JS引用其他框架:

<scriptsrc="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>

<scriptsrc="http://apps.bdimg.com/libs/prototype/1.7.1.0/prototype.js"></script>

 

34.一个js\html编辑器,可以放到eclipse更新源里安装该插件

 http://download.aptana.com/studio3/plugin/install

 

 

0 0