1.javascript(以下简称js)是什么?
js是一种弱类型,动态类型的脚本语言。
js是一种轻量级的编程语言。
js是可插入HTML页面的编程代码。
js在插入html页面后,可有所有的浏览器执行。
2.为什么要学习js?
一个标准的网页由结构,表现,行为三个部分组成。Js主要负责页面中元素的行为,是目前运用最广泛的行为标准语言。
3.js与ECMAScript(以下 简称es)有什么关系?
js本身创建之初是不具备统一标准的,而es则是欧洲计算机制造商协会通过js标准化的脚本程序设计语言。
es是js的规格,而js是es的一种实现。
4.js有什么特点?
脚本语言。Js是一种解释型的脚本语言,是在程序运行过程中逐行进行解释运行的(传统编程中,会对所有的代码进行编译)。
基于对象和事件驱动。Js是一种基于对象的脚本语言的,它不仅可以创建对象,还能使用现有的对象。
简单。Js采用的是弱类型的变量类型,对使用的数据类型未做出严格的要求,是基于Java基本语句的控制的脚本语言,其设计简单紧凑。
动态性。Js是一种采用事件驱动的脚本语言,不需要经过web服务器就可以对用户的输入做出响应。
跨平台性。Js不依赖于操作系统,仅仅需要浏览器的支持。
5.怎么加载js?
内部引用。用过script标签加载js代码。
外部引用。使用script标签中的src属性。
6.js在head标签中和在body标签中有什么区别?
浏览器加载顺序是从上到下的,放在head标签中会在页面之前将js加载到浏览器里,放在body标签中,会在页面加载完之后读取js。
7.js怎么输出数据?
Js没有任何打印或者输出函数。
Js可以通过不同的方式来输出数据:
使用window.alert()弹出警告框。
使用document.write()方法将内容写到 HTML 文档中。
使用innerHTML写入到 HTML 元素。
使用console.log()写入到浏览器的控制台。
8.js怎么命名和声明变量?
命名方法:
匈牙利命名法:变量名=类型+对象描述;
驼峰命名法:全部小写,单词与单词之间用下划线分割或者大小写混合;
规则:首字符可以英文字母或下划线;由英文字母不,数字,下划线组成;不能是js关键词与保留字。
用var关键词声明变量;
用new 关键词声明变量类型;
var carname=new String;//指定carname变量为String类型
Js变量均为对象。声明一个变量时,就创建了一个新的对象。
Js具有隐含的全局概念,意味着不声明的任何变量都会成为一个全局对象属性。
重复声明,隐式声明,不声明直接赋值都是不规范的;
做到先声明,后读写;先赋值,后运算的习惯;
9.js中的数据类型包括哪些?
字符串(String)、数字(Number)、布尔(Boolean)、数组(Array),对象(Object)、空(Null)、未定义(Undefined)。
由于js拥有动态类型,所以js中相同的变量可用作不同的类型。
var x; // x 为 undefined
var x = 5; // 现在 x 为数字
var x = "John"; // 现在 x 为字符串
10.Undefined与Null有什么联系和区别?
变量未初始化;变量未定义;函数无明确返回值;
以上三种情况返回类型都为Undefined。
Undefined并不等同于未定义的值,Undefined是声明了但是没有初始化的该变量。
Null是用来准备保存对象,还没有真正保存对象的值。逻辑上Null表示一个空对象指针,返回类型为Object。
Undefined派生于Null,所以Undefined与Null使用”==”比较时会返回true。
没有必要将变量值显式声明为Undefined,声明空对象时应赋值为Null。
11.js函数是什么?有什么作用?
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
在进行一个复杂的程序设计时,应根据所要完成的功能,将程序划分为一些相对独立的模块,每个模块编写一个函数。使各部分充分独立,任务单一,程序清晰、易懂、易读、易维护。
12.带有返回值的函数是指什么?
在函数体中使用return语句将值返回调用它的地方。在使用return语句时,函数会停止执行(js不会停止执行,从调用函数的地方继续执行代码),并返回指定的值。
function myFunction(a,b)
{
if (a>b)
{
return a;//如果这里为return;不返回任何值,直接退出函数
}
x=a+b
}
调用这个函数时,如果a>b;就会返回a的值,并不会继续执行后面的代码。
13.js全局变量与局部变量有什么区别?js变量的生存周期又是多少?
在js函数内部声明的变量(使用var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数要运行完毕,本地变量就会被删除。
局部变量比同名全局变量优先级高,所以局部变量会隐藏同名的全局变量。
在函数外声明的变量是全局变量,网页上所有脚本和函数都能访问它。
Js变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明(参考第8问中所说的js隐含的全局概念)。