JavaScript目录

  • JavaScript
  • 引用
  • 变量
  • 关系运算
  • 逻辑运算
  • 数组
  • ★函数(不允许重载)
  • 函数的隐形参数
  • 自定义对象
  • js 中的事件
    • onload
    • onclick
    • onblur
    • onchange
    • onsubmit
  • DOM 模型
    • Document 对象
    • Document 对象中的方法介绍
    • getElementById 方法
    • getElementsByName 方法示例代码
    • getElementsByTagName 方法示例代码:
    • createElement 方法示例代码
  • 节点的常用属性和方法
  • 以上就是JavaScript一些重要的基础知识!
    • 喜欢作者可以关注公众号:小白编码,一起交流!

JavaScript

Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。

JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。

JS 是弱类型,Java 是强类型。

特点:

  1. 交互性(它可以做的就是信息的动态交互)
  2. 安全性(不允许直接访问本地硬盘)
  3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)

引用

   <script type="text/javascript"></script>直接引用<script type="text/javascript" src="../js.js"></script>引用js文件

变量

JavaScript 的变量类型:
数值类型:     number
字符串类型:   string
对象类型:     object
布尔类型:     boolean
函数类型:     function
JavaScript 里特殊的值:undefined 未定义,所有js 变量未赋于初始值的时候,默认值都是undefined.null 空值NaN 全称是:Not a Number。非数字。非数值。JS 中的定义变量格式:var 变量名;var 变量名= 值;

关系运算

等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型

逻辑运算

逻辑且运算: &&
或运算: ||
取反运算: !
在JavaScript 语言中,所有的变量,都可以做为一个boolean 类型的变量去使用。
0 、null、undefined、””(空串) 都认为是false;
&& 且运算。
有两种情况:
第一种:当表达式全为真的时候。返回最后一个表达式的值。
第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
|| 或运算
第一种情况:当表达式全为假时,返回最后一个表达式的值
第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值
并且&& 与运算和||或运算有短路。
短路就是说,当这个&&或||运算有结果了之后。后面的表达式不再执行

数组

JS 中数组的定义:
格式:
var 数组名= []; // 空数组
var 数组名= [1 , ’abc’ , true]; // 定义数组同时赋值元素

★函数(不允许重载)

// 定义一个无参函数function fun(){alert("无参函数fun()被调用了");}// 函数调用===才会执行// fun();function fun2(a ,b) {alert("有参函数fun2()被调用了 a=>" + a + ",b=>"+b);}// fun2(12,"abc");// 定义带有返回值的函数function sum(num1,num2) {var result = num1 + num2;return result;}alert( sum(100,50) );
第二中方式:var fun = function () {alert("无参函数");}// fun();var fun2 = function (a,b) {alert("有参函数a=" + a + ",b=" + b);}// fun2(1,2);var fun3 = function (num1,num2) {return num1 + num2;}alert( fun3(100,200) );

函数的隐形参数

函数的arguments 隐形参数(只在function 函数内)
就是在function 函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
隐形参数特别像java 基础的可变长参数一样。
public void fun( Object ... args );
可变长参数其他是一个数组。
那么js 中的隐形参数也跟java 的可变长参数一样。操作类似数组。

自定义对象

对象的定义:
var 变量名= new Object(); // 对象实例(空对象)
变量名.属性名= 值; // 定义一个属性
变量名.函数名= function(){} // 定义一个函数
对象的访问:
变量名.属性/ 函数名();
{}花括号形式的自定义对象
对象的定义:
var 变量名= { // 空对象
属性名:值, // 定义一个属性
属性名:值, // 定义一个属性
函数名:function(){} // 定义一个函数
};
对象的访问:
变量名.属性/ 函数名();

js 中的事件

什么是事件?事件是电脑输入设备与页面进行交互的响应。我们称之为事件。
常用的事件:
onload      加载完成事件: 页面加载完成之后,常用于做页面js 代码初始化操作
onclick     单击事件: 常用于按钮的点击响应操作。
onblur      失去焦点事件: 常用用于输入框失去焦点后验证其输入内容是否合法。
onchange    内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作
onsubmit    表单提交事件: 常用于表单提交前,验证所有表单项是否合法。事件的注册又分为静态注册和动态注册两种:
什么是事件的注册(绑定)?
其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。
静态注册事件:通过html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。
动态注册事件:是指先通过js 代码得到标签的dom 对象,然后再通过dom 对象.事件名= function(){} 这种形式赋于事件
响应后的代码,叫动态注册。
动态注册基本步骤:
1、获取标签对象
2、标签对象.事件名= fucntion(){}

onload

<script type="text/javascript">// onload事件的方法function onloadFun() {alert('静态注册onload事件,所有代码');}// onload事件动态注册。是固定写法window.onload = function () {alert("动态注册的onload事件");}</script>
</head>
<!--静态注册onload事件onload事件是浏览器解析完页面之后就会自动触发的事件<body οnlοad="onloadFun();">
-->

onclick

<script type="text/javascript">function onclickFun() {alert("静态注册onclick事件");}// 动态注册onclick事件window.onload = function () {// 1 获取标签对象/** document 是JavaScript语言提供的一个对象(文档)<br/>* get           获取* Element       元素(就是标签)* By            通过。。   由。。经。。。* Id            id属性** getElementById通过id属性获取标签对象**/var btnObj = document.getElementById("btn01");// alert( btnObj );// 2 通过标签对象.事件名 = function(){}btnObj.onclick = function () {alert("动态注册的onclick事件");}}</script>
</head>
<body><!--静态注册onClick事件--><button onclick="onclickFun();">按钮1</button><button id="btn01">按钮2</button>
</body>

onblur

    <script type="text/javascript">// 静态注册失去焦点事件function onblurFun() {// console是控制台对象,是由JavaScript语言提供,专门用来向浏览器的控制器打印输出, 用于测试使用// log() 是打印的方法console.log("静态注册失去焦点事件");}// 动态注册 onblur事件window.onload = function () {//1 获取标签对象var passwordObj = document.getElementById("password");// alert(passwordObj);//2 通过标签对象.事件名 = function(){};passwordObj.onblur = function () {console.log("动态注册失去焦点事件");}}</script>
</head>
<body>用户名:<input type="text" onblur="onblurFun();"><br/>密码:<input id="password" type="text" ><br/>
</body>

onchange

<script type="text/javascript">function onchangeFun() {alert("女神已经改变了");}window.onload = function () {//1 获取标签对象var selObj = document.getElementById("sel01");// alert( selObj );//2 通过标签对象.事件名 = function(){}selObj.onchange = function () {alert("男神已经改变了");}}</script>
</head>
<body>请选择你心中的女神:<!--静态注册onchange事件--><select onchange="onchangeFun();"><option>--女神--</option><option>芳芳</option><option>佳佳</option><option>娘娘</option></select>请选择你心中的男神:<select id="sel01"><option>--男神--</option><option>国哥</option><option>华仔</option><option>富城</option></select></body>

onsubmit

<script type="text/javascript" >// 静态注册表单提交事务function onsubmitFun(){// 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交alert("静态注册表单提交事件----发现不合法");return flase;}window.onload = function () {//1 获取标签对象var formObj = document.getElementById("form01");//2 通过标签对象.事件名 = function(){}formObj.onsubmit = function () {// 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交alert("动态注册表单提交事件----发现不合法");return false;}}</script>
</head>
<body><!--return false 可以阻止 表单提交 --><form action="http://localhost:8080" method="get" onsubmit="return onsubmitFun();"><input type="submit" value="静态注册"/></form><form action="http://localhost:8080" id="form01"><input type="submit" value="动态注册"/></form></body>

DOM 模型

Document 对象

第一点:Document 它管理了所有的 HTML 文档内容。
第二点:document 它是一种树结构的文档。有层级关系。
第三点:它让我们把所有的标签 都 对象化
第四点:我们可以通过 document 访问所有的标签对象。

Document 对象中的方法介绍

document.getElementById(elementId)
通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值
document.getElementsByName(elementName)
通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值
document.getElementsByTagName(tagname)
通过标签名查找标签 dom 对象。tagname 是标签名
document.createElement( tagName)
方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名
注:
document 对象的三个查询方法,如果有 id 属性,优先使用 getElementById 方法来进行查询
如果没有 id 属性,则优先使用 getElementsByName 方法来进行查询
如果 id 属性和 name 属性都没有最后再按标签名查 getElementsByTagName
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。

getElementById 方法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript" >/** 需求:当用户点击了较验按钮,要获取输出框中的内容。然后验证其是否合法。<br/>* 验证的规则是:必须由字母,数字。下划线组成。并且长度是5到12位。* */function onclickFun() {// 1 当我们要操作一个标签的时候,一定要先获取这个标签对象。var usernameObj = document.getElementById("username");// [object HTMLInputElement] 它就是dom对象var usernameText = usernameObj.value;// 如何 验证 字符串,符合某个规则 ,需要使用正则表达式技术var patt = /^\w{5,12}$/;/**  test()方法用于测试某个字符串,是不是匹配我的规则 ,*  匹配就返回true。不匹配就返回false.* */var usernameSpanObj = document.getElementById("usernameSpan");// innerHTML 表示起始标签和结束标签中的内容// innerHTML 这个属性可读,可写usernameSpanObj.innerHTML = "国哥真可爱!";if (patt.test(usernameText)) {// alert("用户名合法!");// usernameSpanObj.innerHTML = "用户名合法!";usernameSpanObj.innerHTML = "<img src=\"right.png\" width=\"18\" height=\"18\">";} else {// alert("用户名不合法!");// usernameSpanObj.innerHTML = "用户名不合法!";usernameSpanObj.innerHTML = "<img src=\"wrong.png\" width=\"18\" height=\"18\">";}}</script>
</head>
<body>用户名:<input type="text" id="username" value="wzg"/><span id="usernameSpan" style="color:red;"></span><button onclick="onclickFun()">较验</button>
</body>
</html>

getElementsByName 方法示例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">// 全选function checkAll() {// 让所有复选框都选中// document.getElementsByName();是根据 指定的name属性查询返回多个标签对象集合// 这个集合的操作跟数组 一样// 集合中每个元素都是dom对象// 这个集合中的元素顺序是他们在html页面中从上到下的顺序var hobbies = document.getElementsByName("hobby");// checked表示复选框的选中状态。如果选中是true,不选中是false// checked 这个属性可读,可写for (var i = 0; i < hobbies.length; i++){hobbies[i].checked = true;}}//全不选function checkNo() {var hobbies = document.getElementsByName("hobby");// checked表示复选框的选中状态。如果选中是true,不选中是false// checked 这个属性可读,可写for (var i = 0; i < hobbies.length; i++){hobbies[i].checked = false;}}// 反选function checkReverse() {var hobbies = document.getElementsByName("hobby");for (var i = 0; i < hobbies.length; i++) {hobbies[i].checked = !hobbies[i].checked;// if (hobbies[i].checked) {//     hobbies[i].checked = false;// }else {//     hobbies[i].checked = true;// }}}</script>
</head>
<body>兴趣爱好:<input type="checkbox" name="hobby" value="cpp" checked="checked">C++<input type="checkbox" name="hobby" value="java">Java<input type="checkbox" name="hobby" value="js">JavaScript<br/><button onclick="checkAll()">全选</button><button onclick="checkNo()">全不选</button><button onclick="checkReverse()">反选</button>
</body>
</html>

getElementsByTagName 方法示例代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">window.onload = function(){// alert( document.getElementById("btn01") );}// 全选function checkAll() {alert( document.getElementById("btn01") );// document.getElementsByTagName("input");// 是按照指定标签名来进行查询并返回集合// 这个集合的操作跟数组 一样// 集合中都是dom对象// 集合中元素顺序 是他们在html页面中从上到下的顺序。var inputs = document.getElementsByTagName("input");for (var i = 0; i < inputs.length; i++){inputs[i].checked = true;}}</script>
</head>
<body><!--as -->兴趣爱好:<input type="checkbox" value="cpp" checked="checked">C++<input type="checkbox" value="java">Java<input type="checkbox" value="js">JavaScript<br/><button id="btn01" onclick="checkAll()">全选</button></body>
</html>

createElement 方法示例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script type="text/javascript">window.onload = function () {// 现在需要我们使用js代码来创建html标签,并显示在页面上// 标签的内容就是:<div>小白,我爱你</div>var divObj = document.createElement("div"); // 在内存中 <div></div>var textNodeObj = document.createTextNode("小白,我爱你"); // 有一个文本节点对象 #国哥,我爱你divObj.appendChild(textNodeObj); // <div>小白,我爱你</div>// divObj.innerHTML = "小白,我爱你"; // <div>小白,我爱你</div>,但,还只是在内存中// 添加body子元素document.body.appendChild(divObj);}</script>
</head>
<body></body>
</html>

节点的常用属性和方法

节点就是标签对象

方法:
通过具体的元素节点调用
getElementsByTagName()
方法,获取当前节点的指定标签名孩子节点
appendChild( oChildNode )
方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
属性:
childNodes
属性,获取当前节点的所有子节点
firstChild
属性,获取当前节点的第一个子节点
lastChild
属性,获取当前节点的最后一个子节点
parentNode
属性,获取当前节点的父节点
nextSibling
属性,获取当前节点的下一个节点
previousSibling
属性,获取当前节点的上一个节点
className
用于获取或设置标签的 class 属性值
innerHTML
属性,表示获取/设置起始标签和结束标签中的内容
innerText
属性,表示获取/设置起始标签和结束标签中的文本

阶段案例

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>dom查询</title><link rel="stylesheet" type="text/css" href="style/css.css"/><script type="text/javascript">window.onload = function () {//1.查找#bj节点document.getElementById("btn01").onclick = function () {var bjObj = document.getElementById("bj");alert(bjObj.innerHTML);};//2.查找所有li节点var btn02Ele = document.getElementById("btn02");btn02Ele.onclick = function () {var lis = document.getElementsByTagName("li");alert(lis.length)};//3.查找name=gender的所有节点var btn03Ele = document.getElementById("btn03");btn03Ele.onclick = function () {var genders = document.getElementsByName("gender");alert(genders.length)};//4.查找#city下所有li节点var btn04Ele = document.getElementById("btn04");btn04Ele.onclick = function () {var elementById = document.getElementById("city");var elementsByTagName = elementById.getElementsByTagName("li");alert(elementsByTagName.length);};//5.返回#city的所有子节点var btn05Ele = document.getElementById("btn05");btn05Ele.onclick = function () {var length = document.getElementById("city").childNodes.length;alert(length);};//6.返回#phone的第一个子节点var btn06Ele = document.getElementById("btn06");btn06Ele.onclick = function () {var innerHTML = document.getElementById("phone").firstChild.innerHTML;alert(innerHTML);};//7.返回#bj的父节点var btn07Ele = document.getElementById("btn07");btn07Ele.onclick = function () {alert(document.getElementById("bj").parentNode.innerHTML);};//8.返回#android的前一个兄弟节点var btn08Ele = document.getElementById("btn08");var innerHTML1 = document.getElementById("android").previousSibling.innerHTML;alert(innerHTML1);};//9.读取#username的value属性值var btn09Ele = document.getElementById("btn09");btn09Ele.onclick = function () {var value = document.getElementById("username").value;alert(value);};//10.设置#username的value属性值var btn10Ele = document.getElementById("btn10");btn10Ele.onclick = function () {document.getElementById("username").value = "傻逼";};//11.返回#bj的文本值var btn11Ele = document.getElementById("btn11");btn11Ele.onclick = function () {var elementById = document.getElementById("bj");alert(elementById.innerText)}</script>
</head>
<body>
<div id="total"><div class="inner"><p>你喜欢哪个城市?</p><ul id="city"><li id="bj">北京</li><li>上海</li><li>东京</li><li>首尔</li></ul><br><br><p>你喜欢哪款单机游戏?</p><ul id="game"><li id="rl">红警</li><li>实况</li><li>极品飞车</li><li>魔兽</li></ul><br/><br/><p>你手机的操作系统是?</p><ul id="phone"><li>IOS</li><li id="android">Android</li><li>Windows Phone</li></ul></div><div class="inner">gender:<input type="radio" name="gender" value="male"/>Male<input type="radio" name="gender" value="female"/>Female<br><br>name:<input type="text" name="name" id="username" value="abcde"/></div>
</div>
<div id="btnList"><div><button id="btn01">查找#bj节点</button></div><div><button id="btn02">查找所有li节点</button></div><div><button id="btn03">查找name=gender的所有节点</button></div><div><button id="btn04">查找#city下所有li节点</button></div><div><button id="btn05">返回#city的所有子节点</button></div><div><button id="btn06">返回#phone的第一个子节点</button></div><div><button id="btn07">返回#bj的父节点</button></div><div><button id="btn08">返回#android的前一个兄弟节点</button></div><div><button id="btn09">返回#username的value属性值</button></div><div><button id="btn10">设置#username的value属性值</button></div><div><button id="btn11">返回#bj的文本值</button></div>
</div>
</body>
</html>

以上就是JavaScript一些重要的基础知识!

喜欢作者可以关注公众号:小白编码,一起交流!

JavaScript基础一些重要知识-JavaWeb篇相关推荐

  1. JavaScript基础教程——入门必看篇

    JavaScript他是一种描述性语言,其实他并不难学,只要用心学,一定会学好,我相信大家在看这篇文章的时候,一定也学过HTML吧,使用JavaScript就是为了能和网页有更好的交互,下面切入主题. ...

  2. JavaScript 基础知识 - BOM篇

    前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...

  3. JavaScript 基础知识 - DOM篇(二)

    7. 节点操作 7.1 节点的属性 节点分类: 标签节点 文本节点 属性节点 注释节点 节点常用的属性: nodeType:节点的类型 nodeName:节点名称 nodeValue:节点值 常见的节 ...

  4. javaweb(02) JavaScript基础知识

    javaweb(02): JavaScript基础知识 JavaScript简介 为什么出现JavaScript Javascript是什么 JavaScript和Java的关系? 就像卡巴斯基和巴基 ...

  5. JavaScript 基础知识 - 入门篇(二)

    11. 函数 11.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余: 函数可以封装一段重复的javascript代码, ...

  6. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

  7. web前端知识集合——javascript基础篇之常量和变量(二)

    3. 变量和常量: 1.1 变量的声明: js三种方式声明变量,声明不赋值时,默认值为underfined. (1)var声明:var name='Ace',同时声明多个变量var a=1,b=2,c ...

  8. JavaScript基础知识总结(基础篇)

    目录 JavaScript基础知识点总结(基础篇) 一.JavcScript基础语法应用 1.1三条输出语句 1.2JS中的数据类型 1.3JS中的强制类型转换 1.31string强制类型转换分为两 ...

  9. JavaScript 进阶知识 - Ajax篇

    Ajax 前言 前面我们已经学习了js基础知识和一些简单的特效,基本上已经能够写出一个带有特效的静态页面了,为什么还要称之为静态页面呢?因为网页里的数据都是写死的,真正的工作中,我们是要通过Ajax技 ...

最新文章

  1. 语音识别基础,总有一天你会用到
  2. 云炬随笔20211001
  3. NLP面试时,项目经历要怎么讲?
  4. 计算机英语课程背景,专家讲座第十五讲:信息化背景下高质量大学英语课程建设与教学设计...
  5. [召集令]-Dijkstra的单源最短路径算法
  6. 当margin-top、padding-top的值是百分比时,分别是如何计算的?
  7. 【Win】使用L2TP出现809错误
  8. Firefox 不响应 event.keyCode 问题的解决方案
  9. 力扣20.有效的括号
  10. 华为Mate 30系列将升级25W无线快充:充电方面无对手
  11. html滚动条自动下拉,[JS] jquery实现div随滚动条下拉浮动功能
  12. 视频号直播带货成交的三大关键
  13. mysql使用中文报错,hibernate mysql 插入中文错误
  14. Facebook内布拉斯加州数据中心将扩建100万平方英尺
  15. Inceptor上存储过程相关
  16. 语音对话机器人,百行Python代码就能轻松实现
  17. 8月20日 网工学习 二层交换机功能 MAC地址 交换机的寻址 总结二层交换机,根据源MAC地址进行MAC地址表学习,根据目的MAC地址转发
  18. 牛客网练习—《网络基础》DAY2
  19. 台式机安装windowsXP和ubuntu双系统
  20. Java毕设项目大学生校园兼职系统计算机(附源码+系统+数据库+LW)

热门文章

  1. python imshow调整比例_更改y日志比例imshow()
  2. 安装或更新 Android Studio
  3. 使用 Single-SPA 从零开始搭建 React 微前端项目
  4. 上海颁出首批个人网店营业执照 电子商务经营者可登记
  5. SAP数据类型 C字符型 character
  6. SOLIDWORKS配置应用之零件配置
  7. python中callable_Python callable() 函数
  8. Smart work——以sketch导出标注为例
  9. 第二十九课 如何实现MetaMask签名授权后DAPP一键登录功能?
  10. Java安卓文字居中_设置TextView文字居中,代码实现android:layout_gravity