首先要注意:JS不会报错,需要时时查看,尽量用补全和复制,避免语法和代码拼写出错。
然后要理解脚本执行原理,这个可以在网上找到更具体的解说,简单来说,JS的执行机制就是一个主线程 + 一个任务队列。同步任务就是放在主线程上执行的任务,异步任务就是放在任务队列的任务。给大家推荐两个好的前端学习网站(菜鸟教程和w3school.com.cn)
1、JS是一个客户端的脚本语言,VBScript是编写服务器的脚本语言
JS和java完全没有关系,一个写程序的高级语言,一个是写网页的脚本语言
2、JS的语法结构:
<script type="text/javascript">
var num = 12;//自动识别类型
var cha = 'A';
var str = "xiaoweizai";
var bl = true;
// document.write("啦
啦
啦!");
document.write(num+"
");
document.write(cha+"
");
document.write(str+"
");
document.write(bl+"
");
script>
3、输出变量时得是字符串(“”+变量+“”)
document.write("
");
4、类型转换(js会自动转换类型,可以直接比较大小)
parseInt :数值类型字符串转换成整型
parseFloat:数值类型字符串转换成小数类型
注:如果要转换的不是数值类型,会返回一个NaN(可以在程序中调用(isNaN()来判断)
5、方法调用
(1)表单中按钮配合点击事件使用——onclick="show()"
(2)直接在body中使用——onload="show()"
(3)超链接——<a href="javascript:show()">
6、css+html+js网页设计顺序
第一步:首先设计好布局,div设计(HTML设计好大的框架)
第二步:给布局相应的样式,使用外部链接(CSS美化网页)
第三步:在布局表单中写好相关的name和id(以便js和后台给予动态)
第四步:在头部导入js文件
第五步:在表单或者body中调用js方法
7、取得表单的value
(1)var count = parseInt(document.myfree.count.value);
//通过name拿到值(parseInt转化为整型数值),拿到一个值
(2)document.getElementById("myAnchor").href
//通过id拿到属性(当然是先取到了值),可以拿到指定的值(id名是唯一的)
(3)var allCar = document.getElementsByName("car");
//通过name拿到属性(拿到属性之后就可以拿到值或者改变值),可以拿到一组值
8、DOM(Document Object Model)对象
浏览器对象分层——Window窗口对象:上面是location地址对象+下面document对象+history对象
9、window对象
属性:status、screen、history、location、document
方法:
(1)alert(): 弹窗
(2) confirm():
(3)open():window.open("test.html");
10、history 对象
go (1)代表前进1页,等价于forward( )方法;
go(-1) 代表后退1页,等价于back( )方法;
11、Location 对象
reload():
相关问题:
问题:
1、如何改变alert弹窗的此网页显示的文字?
方法内部是native code,只有重写alert()方法
2、JS代码何时需要放到HTML文档末尾,怎么放?
web页面性能优化其精髓就是——将浏览器基本无序的资源加载请求用js有序地控制起来,包括js本身。
位置没有固定,可以根据个人习惯
3、x = setTimeout("start()",1000);为什么不能加var?
因为在这个方法里定义的变量,在下一个方法里不能使用
4、js中有变量定义的要求吗?有全局变量和局部变量区分吗?为什么
document.getElementById在全局(函数外)使用无效?
(1)javascript是区分大小写的语言、首个字不能为数字、必须以字母或是下标符号”_”或者”$”为开头
(2)javascript中可以隐式的使用变量,隐式声明的变量总是当成全局变量来使用的。
(3)dom还没加载完成 获取不到节点信息,而且调用获取了id的方法,而调用方法得在方法(函数)中调用。
5、pixelLeft?
pixelLeft(数值类型,将left的值(如果是空串则赋为0)转化为像素值.(不带单位)) //该属性只支持IE
6、如何获取一个图像在网页中的坐标?
var o =$("#xx").offset();//这个是相对于上级的
var o =$("#xx").position();//这是相对于整个页面的
7、在表单中调用函数时如何传入参数?表单对象的name可不可以当作参数传递?
(1)在表单的按钮中调用函数所传递的参数应该是表单所具有的参数和值。自己命名的参数可以加单引号。
(2)可以,要加上双引号。