JavaScript 作用域

1、变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

2、变量在函数外定义,即为全局变量。

全局作用域: 网页中所有脚本和函数均可使用。

3、如果在函数内的变量没有声明(没有使用关键字var),则视为全局变量

JavaScript 事件

HTML 事件是发生在 HTML 元素上的事情。

当在 HTML 页面中使用 JavaScript 时, JavaScript 可以触发这些事件。

常见的HTML事件

下面是一些常见的HTML事件的列表:

事件

描述

onchange

HTML 元素改变

onclick

用户点击 HTML 元素

onmouseover

用户在一个HTML元素上移动鼠标

onmouseout

用户从一个HTML元素上移开鼠标

onkeydown

用户按下键盘按键

onload

浏览器已完成页面的加载

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>

<button οnclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>

</body>
</html>
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title></title> 
</head>
<body>

<button οnclick="this.innerHTML=Date()">现在的时间是?</button>

</body>
</html>

上面两个例子都是打印当前时间值,但是第一个是在段落中打印,第二个是在按钮上显示的,如果我在例子中加一个

<p οnclick="this.innerHTML=Date()">点击这里</>

当点击这个段落时,也会出现当前时间日期。

JavaScript 字符串

你可以通过索引位置来获取字符,就像在一个数组中获取元素一样

var carname = "abcdefg";
//var carname = 'abcdefg';
var character = carname[0];

如果在字符串中需要用到引号的,注意不要与外面的引号类型一样:

var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';

也可以用转义字符:

var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

常用的转义字符有下面几种:

\'

单引号

\"

双引号

\\

反斜杠

\n

换行

\r

回车

\t

tab(制表符)

\b

退格符

\f

换页符

字符串长度

小源认为这个用法和C++、java中的String类很像

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

有的同学可能有疑问了,那么如果字符串中有引号或者转义字符的话,它的长度会不会变化呢,一个引号是一个字符这个很清楚,但如果是引号的转义字符的话,\'和\",应该算一个还是两个字符呢。

小源刚刚也想到了这个问题,有些不确定就去亲自试了试,都是一个字符,亲测有效,嘿嘿。

字符串可以是对象

果然不出小源所料,后面就看到了类似String类的用法,字符串可以是对象。

var s1 = "John"

var s2 = new String("John")

这里补充一个运算符,也是小源刚刚了解到的,===,绝对相等,必须数据类型和数值都相等。

typeof s1;typeof s2;来判断,

typeof会返回它后面这个变量的数据类型。

相对的,也有!==运算符,这个是不绝对相等,数值和类型有一个不想等,或两个都不想等。

字符串之间也可以进行相加运算,可以将两个字符串连接在一起。

再往后就是一些逻辑运算,条件,循环等语句,这一块和其他编程语言大同小异,小源为了节省时间,就不详细写出来了。