Alert(方法名)和Alert(方法名())区别
直接输出方法名,不加括号,输出方法定义
后者是输出方法的返回值
Window.οnlοad=方法名和Window.οnlοad=方法名() 区别
window.onload调用函数是不用加括号的,加了括号可以成功的原因是因为通常我们把JS代码都放到了最后面,页面也已经加载完了,或者没有涉及到页面对象的操作情况,所以才没有报错。
为什么会这样呢,因为window.onload = hello()这种赋值的语句的从右到左,也就是先执行了hello(),然后把hello函数执行结果(如果右return的话)赋值给window.onload,跟你直接写hello()没什么区别。所以严格来说window.onload要调用的函数是不能加括号的,避免错误。
window.onload是一个事件,它表示在页面加载完后执行它指向的代码,所以不需要给函数加括号去调用,页面加载完会自动去调用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
js的三种调用方式
1,行内式,写在实用的标签内部。
2,写在<script></script>标签
3,外联式,用link关联<link href="js地址" rel="stylesheet" type="text/css">
4,三个方式的优先级:
行内式优先级最高,会覆盖另外连个属性相同的设置,但是不覆盖属性功能设置不同的,会继承。
外联式跟<script></script>表面的方法,按照编译顺序,在html页面后面的会覆盖前面的相同功能。
-->
<script type="text/javascript">
/**
* 在此之中写具体的js脚本代码
* JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
* JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 解释性语言,弱类型,所有都是字符串。
*js跟java没有关系
* js的脚本可以放在head标签或者body标签。由于页面在浏览器编译是按照顺序执行的,所以有时候因为失误,
在head中的js函数调用body
里面的元素,由于编译的顺序执行,还没执行到body但是却在脚本中发生调用,会取不到值出错。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言。
*/
/**
* 四中输出方式:
* 1,使用 window.alert() 弹出警告框。
2,使用 document.write() 方法将内容写到 HTML 文档中。
3,使用 innerHTML 写入到 HTML 元素。
4,使用 console.log() 写入到浏览器的控制台
*/
/**
* js标识符定义规则:
* 1,有数字,字母,下划线,美元符号构成。
* 2,第一个必须是字母,下划线或者美元符号。
* 3,标识符区分大小写,推荐使用小写形式以及骆驼命名法。
* 4,不能与js中的关键字相同
*/
/**
* 变量的定义:var 变量名=定义的对象等。
*
*/
/**
* 变量的类型:查看方式用typeof 变量;
*/
typeof 123;//123为number类型。
/**
* 变量的作用域:变量在js脚本中,函数内部的作用范围只是函数内部,函数外部的是全脚本,范围最大,若是在函数
* 内部用未用 “var 变量 ” 来声明,则变量也是全局,即function(){qwe=123;},虽然在函数内部,但是也是全局。若是
* 用function(){var qwe=123;}则qwe不是全局。变如果只是声明没有赋值,则是undefined类型,如果未定义未出现,则是报错。
*/
var string1 = “Hello World!”;//定义字符串
var character = string[7];//定义数组
/**
* == :值相等
===:值和类型都要相等
*/
//六种数据类型:
number//数字类型
string//字符串
boolean//bool类型
null//空置
undefined//只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
symbol (ECMAScript 6 新定义)//Symbol是用来定义对象的唯一属性名的不二之选
/**
* 控制语句,for,switch,while,if,转移语句break、continue等都同java差不多不做介绍。
*/
/**
* 函数定义:
* 预定义函数:即内建函数,是js自带的编写好的功能函数。
*
* 自定义函数:
*
*//
/**定义1*/
function functionName(parameters){
statements;
return expression;
}
/**定义2:匿名函数*/
var f=function(parameters){
statements;
return expression;
}
/**定义3:对象函数*/
var functionName=new function([paramters],statements);//参数与方法体都写在括号里面。
/**定义4:自调用函数*/
(function([paramters]){
statements;
return expression;
})([params])
</script>
</head>
<body>
<!--外联式js-->
<script type="text/javascript" src="连接url.js"></script>
<!--行内式js-->
<input type="button" value="点击有惊喜" οnclick="javascript:alert('哈哈哈哈')">
<p id="id" class="classtag" οnclick="click()">js实验</p>
<script>
/**
*onclick为点击触发事件,触发函数为click()
* var id=document.getElementById("id");通过 id 找到 HTML 元素 —— getElementById
* document.getElementsByClassName("classtag");通过类名找到 HTML 元素 —— getElementsByClassName
* document.getElementsByTagName("p");通过标签名找到 HTML 元素—— getElementsByTagName
* innerHTML指的是从对象的起始位置到终止位置的全部内容,包括Html标签。
* innerText 指的是从起始位置到终止位置的内容,但它去除Html标签。同时,
* innerHTML 是所有浏览器都支持的,innerText 是IE浏览器和chrome 浏览器支持的,Firefox浏览器不支持。
* 其实,innerHTML 是W3C 组织规定的属性;而innerText 属性是IE浏览器自己的属性,不过后来的浏览器部分实现这个属性罢了。
*
*/
function click(){
var id=document.getElementById("id");
id.innerHTML="123";
var classtag=document.getElementsByClassName("classtag");
classtag.innerText="456";
var tag=document.getElementsByTagName("p");
tag.innerHTML="789";
}
/**
* 常用事件掌握,会根据事件写出方法,并掌握方法的功能,区别等
js里的事件都是以on开头
onclick是单击事件
onmouseover是鼠标移动到这个元素上事件
onmouleave是鼠标从这个元素上离开事件
onchange:1.文本发生改变 2.焦点移开
onblur: 只要失去焦点,事件就被触发
onfocus:获取焦点
*/
</script>
</body>
</html>