1. JS定义和特点
(1) 简述javaScript的特点
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
00001.
是一种解释性脚本语言(代码不进行预编译)。
主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
(2) 简述javaScript的作用
HTML+CSS只是可以有静态的页面,但是没有动态的效果
js可以实现表单数据的校验
Tab菜单的切换
背景图片的切换
js小游戏的开发
请列举javaScript的优点和缺点
JavaScript的优势:
快速的终端反应: Java 脚本为客户端编写,不需要服务器端支持就可运行。也不需要在客户端被编译提高速度优势。在用户电脑上作为脚本执行,依靠任务,结果几乎是立即完成的。例如,在发送到服务器之前,你可以校验任何客户的输入内容。 这样可以减少服务器上载的内容。
简洁性: JavaScript很容易学习和实现。它利用DOM模型, 提供大量的预编制的功能性对象代码,使得开发一个满足用户需要的脚本变得轻而易举。
用途广泛: JavaScript和其他语言可以很好的交互,并且广泛应用于各个领域。现在,有很多的方法可以通过Node.js服务器使用JavaScript。如果你曾经使用node.js的Express框架bootstrap,使用一个文档数据库如mongodb,并且在客户前端使用JavaScript,那么完全可以只使用JavaScript开发一个从前端到后端的app应用。
JavaScript的劣势:
安全性: JavaScript被显示的添加到网页和客户浏览器,它可以利用客户系统,有风险的代码可能在客户机器上执行。
浏览器支持: JavaScript在不同的浏览器中有时进行不同的解释。不同层引擎对Javascript有不同的渲染结果, 这都是因为不同的功能和接口的差异性。大部分JavaScript依赖浏览器DOM元素的操作。并且,不同的浏览器对对象的访问类型不一样,尤其是Internet Explorer。
更多更好竞争对手: JavaScript是机器上运行的非常老的脚本化语言,其实有其他的技
可以取代它做同样的事情。(如 JQuery ),并且更好更简单。
关闭JavaScript:如果关闭浏览器的JavaScript支持,整个JavaScript代码就不会运行了
2. JS的声明和引入
(1) javascript 的引入方式有几种,分别怎么写?
<!-- 引入js的第一种方式 -->
<script type="text/javascript"></script>
<!-- 引入js的第二种方式 -->
<script type="text/javascript" src="js/JavaSeript入门.js"></script>
(2) javascript的引入方式可以综合书写吗?请说明原因
不能 引入只能引入
(3) javaScript 标签的type="text/javascript"属性和charset="UTF-8"属性的作用
type引入文件的类型
charset引入文件的编码格式
3. JS中的变量
(1) JS中的变量名区分大小写吗
区分大小写
(2) JS中书写表达式结束可以把分号省去吗?
可以
(3) JS中变量名的规范
Var 变量名=值
和java中的标识符命名一样就可以了
js中的变量名称是可以重复的,但是后者会把前者的值覆盖
JS中书写表达式结束可以把分号省去,但是不推荐这样写
4. JS中数据类型
(1) 请问在JS中NAN这种数据类型是什么意思,是如何产生的?
不是数字
(2) 请问在JS中undefined这种数据类型是什么意思,是如何产生的?
未定义
(3) var a =null; alert (type a) 请问弹出什么?
object
5. JS中的运算符
(1) 请问在JS中的”==”和”===”的区别,以及各自的作用。
(==)等值符先比较类型 如果类型一致,在比较内容
如果类型不一
致,这时候会进行强制转换统一转number类型,然后再进行 内容的比较
(===)等同符先比较类型 如果类型一致,在比较内容
如果类型不一
致 直接返回false;
(2) 5.2.2 请分别打印下面的结果
var f1=false; //0
var f2="false"; //NAN
var f3=0; //0
var f4="0"; //0
alert(f1==f2); //F
alert(f1==f3); //T
alert(f1==f4); //T
alert(f2==f3); //F
alert(f2==f4); //F
alert(f3==f4); //T
alert(f1===f2); //F
alert(f1===f3); //F
alert(f1===f4); //F
alert(f2===f3); //F
alert(f2===f4); //F
alert(f3===f4); //F
(1) 函数的声明方式有几种?请说明具体的作用
函数声明方式一
Function 函数名(){
函数体
}
函数声明方式二
Var 函数名=function(){
函数体
}
函数声明方式三 (函数本身也是对象)
Var 函数名=new function(“函数体”)
(2) 请说出函数执行符的作用
函数参数传递
在js中实参的个数和形参的个数可以不一致
如果函数没有return 这时候返回 undefined ():函数执行符
1. JS中Date和Math对象
(1) 请说出 Date对象常用的方法
//本月中的第几天 document.write(date.getDate()+"<br />");
//本星期的第几天 document.write(date. ()+"<br />");
//返回的月份 0-11 document.write(date.getMonth()+"<br />");
//返回的是1900年到现在年份的差值2018-1900 document.write(date.getYear()+"<br />");
//返回全年2018 document.write(date.getFullYear()+"<br />");
//2018/6/22 下午12:17:14:返回本地的时间 document.write(date.toLocaleString()+"<br />");
(2) 请说出Math对象常用的方法
//获得随机数 //随机数范围是0-1var ran=Math.random()*1000;
console.log(ran);//向下取整 756.9714434215177 ==756 console.log(Math.floor(ran));//向上取整 398.06376470341377==398 console.log(Math.ceil(ran)); //获得4位随机数--验证码 console.log(Math.floor(Math.random()*9000+1000) );
2. JS中String和Global
(1) 请说出String对象的常用方法
var a="b-j-s-x-t";var b=new String("bjsxt");
//获得下标为2的内容 document.write(b.charAt(2)+"<br />");//2 :获得下标 document.write(b.indexOf("sxt")+"<br />");
//字符串截取 开始下标 截取长度 document.write(b.substr(2,3)+"<br />");// 截取开始的长度 document.write(b.substr(1)+"<br />");
//字符串截取 开始下标 结束的下标 document.write(b.substring(2,3)+"<br />");
//开始下标document.write(b.substr(2)+"<br />"); /
/字符串截取的方法 document.write(a.split("-"));
(2) 请说出Global对象的常用方法‘
var a=1;var b="var c=1+1";
document.write(a+"<br />")
; document.write(b+"<br />");
//把字符串转成可以执行的js的代码
eval(b);document.write(c+"<br />");var d="123a";Number(d)
//NAN// 检查某个值是否是数字。 是一个数字返回false 不是数字返回true
document.write(isNaN(d));
3. JS中Array对象学习A
(1) 在JS中的数组下标是否可以不连续?
可以不连续如果没有给值就是empty
(2) var arr2=new Array(参数); 数组的声明中这个参数的个数不同代表的含义是什么?
参数的个数不同代表的代表的数组的长度不同
4. JS中Array对象学习B
(1) 请问JS中数组的长度是不是可变的.
是可以改变的
(2) JS中数组的遍历方式有几种,请列举.
var demo4=function(){
var arr4=["321",321,'321',false]
arr4[100]=100
arr4[520]=520
document.write(arr4+"</br>")
//
for(var i=0;i<arr4.length;i++){
document.write(arr4[i]+" ")
console.log(arr4[i])
}
document.writeln()
for(var i in arr4){
document.write(arr4[i]+" ")
console.log(arr4[i])
}
}
demo4()
(3) 请列举JS中数组的常用方法.
//向数组的末尾添加元素
arr4.push("123321")
//向数组开头添加元素
arr4.unshift(new Date())
//删除并返回数组的最后一个元素
var le=arr4.pop();
//删除数组开头元素并返回第一个元素
var first=arr4.shift();
for(var i in arr4){
document.write(arr4[i]+"</br>")
}
document.write(arr4+" "+le+" "+first)
console.log(arr4+le+first)
}
var demo6=function(){
var arr4=["321",321,'321',false]
//删除的开始位置 删除的长度
// arr4.splice(3,2)
//删除的开始位置 删除的长度 添加的下标为开始删除元素的下标
arr4.splice(3,1,123)
document.write(arr4)
}
(1) 请列举出常用的事件
属性 当以下情况发生时,出现此事件
onabort 图像加载被中断
onblur 元素失去焦点
onchange 用户改变域的内容
onclick 鼠标点击某个对象
ondblclick 鼠标双击某个对象
onerror 当加载文档或图像时发生某个错误
onfocus 元素获得焦点
onkeydown 某个键盘的键被按下
onkeypress 某个键盘的键被按下或按住
onkeyup 某个键盘的键被松开
onload 某个页面或图像被完成加载
onmousedown 某个鼠标按键被按下
onmousemove 鼠标被移动
onmouseout 鼠标从某元素移开
onmouseover 鼠标被移到某元素之上
onmouseup 某个鼠标按键被松开
onreset 重置按钮被点击
onresize
窗口或框架被调整尺寸
onselect
文本被选定
onsubmit
提交按钮被点击
onunload
用户退出页面
(2) 请问onclick事件和onchange事件的使用的场景是什么
<!-- onclick 单机事件 -->
<input type="button" value="+" οnclick="demo1()"/></br>
<!-- onchange 内容改变事件 -->
<input type="text" οnchange="demo10()" value="李白" />