js(javaScript)学习系列--基础
2016-08-04 20:39
405 查看
学习新技术,如果是主动式学习,那么最好便是自己去看教程网页了,如果是被动学习,那么视频是不错的选择
由于在搭建个人网页之初便决定要采用nodeJS来做,那么不可避免要学习js的内容了。
w3cSchool(w3school)是个不错的选择
后面这个提示有点意思,文档加载后使用它,啥意思?
看看这个例子
效果图:点击按钮前
点击按钮后
可以看到这里是点击按钮之后再执行myFunction,此时,文档肯定已经加载完毕了,soga,原来是这个意思
再看看myFunction中做了什么,先通过id获得这个元素,然后插入 hello javascript。 但是这里的插入式直接替换了并不是我们认为的前后插入。
这个不就是之前说的文档加载完毕之后执行的情况吗
那么我们把注视的那行代码恢复看看
点击按钮之前,还是一样,点击按钮之后,效果如下
可以看到,这就是所谓的把整个文档覆盖掉
突发奇想,用document.write()来输出一个网页,岂不是也达到了网页跳转的效果?
但是,并没能成功实现,一行一行删除代码之后发现,如果有换行,就失效了,也就是说点击按钮无效,但是可以换行,不过要在前一行的末尾加上 \ 符号
获得到这个元素之后可以做很多事情,例如
style下一层又有很多属性,具体可参考链接:style属性
可以通过将变量的值设置为 null 来清空变量。
全局变量: 在函数外部声明的变量,网页上的所有脚本和函数都可访问,当页面关闭后,全局变量被删除
可用clearTimeout(t) 停止
需要用引号包裹,可以单双引号,只执行一次,要循环执行,可调用方法本身或者用setInterval()
在web上显示一个时间,这个看了我很久,才看明白是个递归,不断调用获得时间
由于在搭建个人网页之初便决定要采用nodeJS来做,那么不可避免要学习js的内容了。
w3cSchool(w3school)是个不错的选择
first:html中的脚本需要位于< script>< /script>之间,而这个这放在body 或者 head 之中
很好理解,了一认为是脚本的开始和结束,网页内容的开始和结束第一个例子 document.write(“”)
<!DOCTYPE html> <html> <body> <p> JavaScript 能够直接写入 HTML 输出流中: </p> <script> document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>"); </script> <p> 您只能在 HTML 输出流中使用 <strong>document.write</strong>。 如果您在文档已加载后使用它(比如在函数中),会覆盖整个文档。 </p> </body> </html>
后面这个提示有点意思,文档加载后使用它,啥意思?
看看这个例子
<!DOCTYPE html> <html> <body> <h1>我的第一段 JavaScript</h1> <p id="demo"> JavaScript 能改变 HTML 元素的内容。 </p> <script> function myFunction() { x=document.getElementById("demo"); // 找到元素 x.innerHTML="Hello JavaScript!"; // 改变内容 //document.write('test') } </script> <button type="button" onclick="myFunction()">点击这里</button> </body> </html>
效果图:点击按钮前
点击按钮后
可以看到这里是点击按钮之后再执行myFunction,此时,文档肯定已经加载完毕了,soga,原来是这个意思
再看看myFunction中做了什么,先通过id获得这个元素,然后插入 hello javascript。 但是这里的插入式直接替换了并不是我们认为的前后插入。
这个不就是之前说的文档加载完毕之后执行的情况吗
那么我们把注视的那行代码恢复看看
document.write('test')
点击按钮之前,还是一样,点击按钮之后,效果如下
可以看到,这就是所谓的把整个文档覆盖掉
突发奇想,用document.write()来输出一个网页,岂不是也达到了网页跳转的效果?
但是,并没能成功实现,一行一行删除代码之后发现,如果有换行,就失效了,也就是说点击按钮无效,但是可以换行,不过要在前一行的末尾加上 \ 符号
获得到这个元素之后可以做很多事情,例如
x.style.color="#ff0000" // 修改文字的颜色 x.style.background="#00FF00" // 修改背景 x.src="/i/eg_bulboff.gif" // 修改图片 x.value // 输入框输入的值(如果不是输入框呢?会变成undefined,undefined也是一个值)
style下一层又有很多属性,具体可参考链接:style属性
javaScript脚本到底是什么时候执行的呢?
一边加载一边执行?我认为是的,理由是:之前试过,如果在加载之后执行,document.wirte会把整个文档覆盖。除非之间还参杂了一个过程javaScript需要在每一句中加上分号吗?
not necessary如果变量重新声明会怎样?
不会改变其值, 例如var carname="Volvo"; var carname; // 值依然是"volvo"
javascript没有具体的类型,只有var?
是的,动态类型可有科学计数法?
var y=123e5; // 12300000 var z=123e-5;
数组怎么表示
var cars=new Array(); cars[0]="Audi"; cars[1]="BMW"; cars[2]="Volvo"; var cars=["Audi","BMW","Volvo"];
对象?
var person={firstname:"Bill", lastname:"Gates", id:5566}; var person={ firstname : "Bill", lastname : "Gates", id : 5566 }; name=person.lastname; name=person["lastname"];
Undefined 和 Null
Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量。
javascript变量都是对象吗
是的,可以职位null清空值var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object;
单引号和双引号有区别吗?
并没有怎么创建一个对象
person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";
方法怎么返回一个值呢
function myFunction() { var x=5; return x; }
局部变量和全局变量
局部变量: 函数内部声明的变量,使用var全局变量: 在函数外部声明的变量,网页上的所有脚本和函数都可访问,当页面关闭后,全局变量被删除
for in 循环
与java不一样的是这里的循环还多了一种这样的形式var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }
文件外的javaScript
前面说的都是文件内的javaSript,那么文件外的呢,如何引入?<!DOCTYPE html> <html> <body> <h1>My Web Page</h1> <p id="demo">A Paragraph.</p> <button type="button" onclick="myFunction()">点击这里</button> <p><b>注释:</b>myFunction 保存在名为 "myScript.js" 的外部文件中。</p> <script type="text/javascript" src="/js/myScript.js"></script> </body> </html>
setTimeOut()方法用于在指定的毫秒数后调用函数或计算表达式。
语法 var t=setTimeout(“javascript语句”,毫秒)可用clearTimeout(t) 停止
需要用引号包裹,可以单双引号,只执行一次,要循环执行,可调用方法本身或者用setInterval()
在web上显示一个时间,这个看了我很久,才看明白是个递归,不断调用获得时间
<html> <head> <script type="text/javascript"> function startTime() { var today=new Date() var h=today.getHours() var m=today.getMinutes() var s=today.getSeconds() // add a zero in front of numbers<10 m=checkTime(m) s=checkTime(s) document.getElementById('txt').innerHTML=h+":"+m+":"+s t=setTimeout('startTime()',500) } function checkTime(i) { if (i<10) {i="0" + i} return i } </script> </head> <body onload="startTime()"> <div id="txt"></div> </body> </html>
相关文章推荐
- javascript 语法基础 想学习js的朋友可以看看
- Javascript入门学习第一篇 js基础第1/2页
- JS JavaScript基础语法学习
- JavaScript学习笔记 - 进阶篇(1)- JS基础语法
- 前端JS框架系列之requireJS基础学习
- [JS基础]JavaScript精简学习2:浏览器输出
- 有 JavaScript 基础,怎么学习 Node.js
- JavaScript学习笔记之JS基础入门
- js(javaScript)学习系列--DOM
- javascript继承学习系列之一:初识JS的OOP
- 学习javascript基础知识系列第三节 - ()()用法
- 根据w3cSchool学习javascript整理js的一些基础知识
- JavaScript学习笔记(一)——JS基础知识介绍
- Javascript入门学习第一篇 js基础第1/2页
- [JS基础]JavaScript精简学习1:基础知识
- 学习javascript基础知识系列第二节 - this用法
- 学习javascript基础知识系列第二节 - this用法
- Node.js系列基础学习-----回调函数,异步
- Node.js系列基础学习----安装,实现Hello World, REPL
- JavaScript 入门基础知识 想学习js的朋友可以参考下