<script>标签(本质html)只不过是表示接下来是脚本语言,type="text/javascript"才说明是js。
js是解释语言,因为不需要编译器的转换、
onblur指示用户移往下一个输入域。
onload事件,在浏览器完成iRock网页的载入时触发
js代码也能放在html内事件处理器中。
var userName=prompt("what is your name?", "enter your name here."); //返回的是用户输入
prompt是弹出一个可供输入的窗口,前一个字符串是询问,第二个是文本框中的输入提示
再回顾一下:js使用三种基本数据类型:text, number, boolean
var——>variable还有常量constant
变量刚开始没有值
const Constant name=Constant value; //常量名习惯全是大写字母
假设有个数字存储为文本类型,但你突然想把这个数字用于数学运算,这时就需要把文本转换为数字类型。
数据类型在设置变量值与常量值的同时建立。
小写驼峰型用于变量和函数
大写驼峰型只会用于对象
NaN是数字数据类型有误时的指标,通常只在计算过程中需要数字,却收到非数值的数据时,才会看到NaN
parseInt()和parseFloat() 我们应只提供“只包含数字”的字符串
对象方法和函数
isNaN()判断是否是数字,对待数字更可靠
表单提交 form.submit
parseInt(浮点数)只会返回整数部分
donutString.indexOf("dozen")是判断在donutString里是否有出现dozen
第三章
浏览器中运行js代码的部分称为JavaScript解释器
一旦网页传送到浏览器后,服务器大致就已退场了。事实上,网页传送完毕后,js的每项行为均限制在浏览器中。这一点使得网页负有更多责任,因为网页不用等待服务器处理和返回数据。这种处理就是js被称为客户端语言的原因
js多半不会直接与网络服务器有关系,因为它在客户机上独立运行。js通常用于拦截从服务器传递到浏览器的网络数据;但也可以编写向网站请求信息的脚本,然后于网页上呈现信息。
设定时间()
单次定时:
setTimeout("alert('wake up');", 600000); //等待10分钟而后弹出alert框的定时器
间隔定时:
setInterval("alert('wake up!');", 600000); //
clearInterval(timerID)这个函数用于清除setInterval()设置的间隔定时器,需要我们传入间隔定时器的ID
document对象代表网页本身
document.body文档主题是网页里能被看见的部分,包括客户端窗口的高度和宽度。
document对象的
body.clientWidth与body.clientHeight特性里存储了客户端窗口的宽度和高度。哭护短是浏览器窗口里呈现网页的特定区域。
网页上所有对象都有一个style对象。
设定高宽时,只需指定一个值,另一个会自动缩放。
浏览器改变大小时触发事件:
οnresize="func();"
脚本的生命周期(life cycle)
js于浏览器关闭或网页重新载入时摧毁所有变量
cookie延长脚本的生命周期。
想让变量值存活超过一次网页浏览,你需要另外把数据存储在浏览器里的cookie里。
cookie也可以设定有效日期(expiration date)
js+cookie=适合客户端、便利的持久性数据存储方案
cookie以长文本字符串的形式存储于用户的计算机里。分号;区分各个cookie
当js代码另外存储成另一个文件时,你必须把文件导入任何需要js代码的网页。
<script type="text/javascript" src=""cookie.js"></script>
shitty shit,似乎chrome是不接受未使用var声明的变量的,虽然这样在语法里也没错但是可能是内置严格模式????
啊 感觉每次出现的小错花费的代价都挺大的
function writeCookie(name,value,days)
{
var expires = "";
if(days)
{
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = ";expires=" + date.toGMTString();
}
var cookie = name + "=" + value + expires + "; path=/";
alert(cookie);
document.cookie = cookie;
}
function readCookie(name)
{
var searchName = name + "=";
var cookies = document.cookie.split(';');
for(var i=0;i<cookies.length; i++)
{
var c = cookies[i];
while(c.charAt[0] == ' ')
c = c.substring(1,c.length);
if(c.indexOf(searchName) == 0)
return c.substring(searchName.length,c.length);
}
return null;
}
function eraseCookie(name)
{
writeCookie(name,"",-1);
}
function greetUser(){
userName=readCookie("userName");//没找到return null userName是全局变量???
if(userName){
alert("hello "+userName+", I missed you.");
}
else {
alert("hello, I am your pet rock.");
}
alert("fuck you");
}
只有在指定的网页里,cookie名称才需要独特,因为cookie存储时会依创建它们的网页加上区隔,其中包含网页所在的网站信息
cookie只适合存储相对较少的文本数据(少于4kb)。大量数据要使用数据库。cookie也不适合存储敏感数据。
每个cookie都有有效日期。
cookieEnable特性是navigator对象的一部分,该对象为JS提供浏览器本身的信息
JavaScript活在浏览器里。