js(javaScript)学习系列--基础
来源:互联网 发布:psd头像源码怎么使用 编辑:程序博客网 时间:2024/06/05 19:49
学习新技术,如果是主动式学习,那么最好便是自己去看教程网页了,如果是被动学习,那么视频是不错的选择
由于在搭建个人网页之初便决定要采用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; // 12300000var 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<10m=checkTime(m)s=checkTime(s)document.getElementById('txt').innerHTML=h+":"+m+":"+st=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>
- js(javaScript)学习系列--基础
- js(javaScript)学习系列--DOM
- js(javaScript)学习系列--window
- JS JavaScript基础语法学习
- javascript高级程序设计学习(一)-----js基础
- [JS基础]JavaScript精简学习1:基础知识
- JavaScript学习笔记之一JS语言基础
- 有 JavaScript 基础,怎么学习 Node.js
- JavaScript学习笔记之JS基础入门
- javascript 学习一:js语法基础
- JavaScript学习总结【2】JS基础
- JavaScript学习总结【2】、JS基础
- JS基础学习第一天:什么是JavaScript?
- javaScript基础系列2
- JavaScript基础系列--函数
- javascript学习系列02(变量,循环,基础语法)
- JS基础系列
- JavaScript基础、语法(JS)
- 【校内互测】Sunshine's book(找规律)
- Ubuntu 界面卡死的办法
- window 根据盘符获取磁盘号
- Python学习笔记五:数字和字符串
- 概率论中的建模思想
- js(javaScript)学习系列--基础
- 理解 Neutron Server 分层模型 - 每天5分钟玩转 OpenStack(69)
- javaScript笔记 (七) 正则表达式
- HDU 5793 A Boring Question (数学)
- 经典算法-给出2n+1个数,其中有2n个数出现过两次,用简便的最方法求出现一次的数
- 利用特征根方程实现通项公式与递推关系的互换
- linux中ps配合Kill进程的N种方法
- String字符串的操作
- Python学习笔记六:列表、元组、字典