JavaScript初解与定义变量

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。

分号用于分隔 JavaScript 语句。

通常我们在每条可执行的语句结尾添加分号。

JavaScript 注释:

1. 单行注释以 // 开头。
2. 多行注释以 /* 开始,以 */ 结尾。

JavaScript 对大小写敏感。

JavaScript 变量

  • 变量必须以字母开头
  • 变量也能以 $ 和 _ 符号开头(不推荐这么做)
  • 变量名称对大小写敏感(y 和 Y 是不同的变量)

声明变量类型

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

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;
可以通过将变量的值设置为 null 来清空变量。

JavaScript 数据类型

当您向变量分配文本值时,应该用双引号或单引号包围这个值

当您向变量赋的值是数值时,不要使用引号。如果您用引号包围数值,该值会被作为文本来处理。

var pi=3.14;
var name="Bill Gates";
var answer='Yes I am!';
可以在字符串中使用引号,只要不匹配包围字符串的引号即可:
var answer="Nice to meet you!";
var answer="He is called 'Bill'";
var answer='He is called "Bill"';
极大或极小的数字可以通过科学(指数)计数法来书写:
var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

JavaScript 布尔:布尔(逻辑)只能有两个值:true 或 false。

var x=true
var y=false

JavaScript 数组

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
var cars=new Array("Audi","BMW","Volvo");
var cars=["Audi","BMW","Volvo"];

JavaScript 对象:

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
上面例子中的对象 (person) 有三个属性:firstname、lastname 以及 id。
对象属性有两种寻址方式实例:
name=person.lastname;
name=person["lastname"];
可以通过将变量的值设置为 null 来清空变量。


对代码行进行折行

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

document.write("Hello \
World!");

外部的 JavaScript:外部脚本不能包含 <script> 标签

<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>

  
  
   
   
定义变量:
1. var x =42;(通过在函数里面定义,可以把变量变为局部变量)
2. x = 42;(没有定义直接赋值的全部为全局变量)

++x 返回加之后的值
x++返回加之前的值
例如:x=3
++x返回4,x++返回3

位运算符:
a&b:两个都为1,则为1,否则为0
a|b:两个只要有一个为1,则为1,否则为0
a^b:两个都为1,则为1,否则为0
~a: a中为1的,则改为0,为0的则改为1,反码
a<<b:a转换为二进制数字,向左移动b位,后面补0
a>>b:a转换为二进制数字,向右移动b位,前面补0,后b位被丢弃
a>>>b:无符号右移运算符
例:int a = -1;  a>>>24
a转为换32位二进制数字 11111111 11111111 11111111 11111111
则a>>>24  为 0000000 00000000 00000000 11111111 为255

条目运算符
condition ? val1 : val2
如果条件为真,则val1,否则为val2

delete运算符
delete objectName;
delete objectName.property;
delete  objectName[index];
delete property;

  
  

tips:

1.在声明一个变量时省去 var,这个变量将变成一个全局变量(global variable) ,你程序的数据直接暴露给了全局, 同时也可能覆盖函数外已有的同名变量, 对他人代码构成了风险。所以,请一定记得使用关键字 var。

如果不用 var呢?让我们来看一个例子: var sex = 'female'; function setGlobal () { var age = '86'; name = 'John'; sex = 'male'; //我们不知函数外也有一个变量 sex alert(name + ' is ' + age + ' years old.'); } setGlobal(); //"John is 86 years old." alert(name); // "John" alert(sex); // "male",函数体里面定义sex的时候没有使用var,所以自动变为全局变量,影响了函数外的sex alert(age); // ReferenceError: age is not defined,使用过var定义的变量,为局部变量,函数外不能访问

2.JavaScript中没有块作用域或类作用域的概念,只有函数作用域,即函数内部定义的变量对于整个函数体以及函数内嵌套的函数都是可见的, 而对于函数体外部是不可见的, 与花括号没有什么关系。

function f () {

var c = 1;
if (true) {
var i = 2;
alert(c); //1,
}
alert(i); //2,只要是函数体内定义的都是课件的
}
正是因为 JavaScript只有函数作用域,所以我们可以通过函数来模拟实现私有属性。

3.变量声明会被提升到当前作用于的顶部。函数内部声明的所有变量对整个函数作用域都是可见的,就好像在函数执行时,所有的变量声明会被提升到第一行一样。

var scope = 'global'; function f () { alert(scope); // "undefined", not "global" var scope = 'local'; alert(scope); // "local" var name = 'country'; } f();
等价于
var scope = 'global';
function f () {
var scope, name;
alert(scope); // "undefined"
scope = 'local';
alert(scope); // "local"
name = 'country';
}

正是因为 JavaScript只有函数作用域,所以我们可以通过函数来模拟实现私有属性。

4.函数的参数可以被省略

函数声明时可以指定形参的个数, 但调用时并不强求传参的个数。 在调用时,如果对应形参的位置没有给值,则其值为 undefined。

function hello (name, age) { alert('name is : ' + name + ', age is ' + age); } hello('Anon', 42); // name is : Anon, age is 42 hello("Baptiste"); //name is : Baptiste, age is undefined hello("Bulat", 24, 42); //name is : Bulat, age is 24




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值