day15--JavaScript语言
JavaScript
JavaScript是一门单独的编程语言。浏览器内置JavaScript的解释器。
独立的语言,浏览器具有js解释器。
存在与HTML中,在HTML中写JavaScript,存在形式是<script></script>
JavaScript的存在形式
<script type="text/javascript></script>表示JS代码,或者不写直接<script></script>,不能写错
- Head中(第一种存在形式,HTML代码的head中)
<script> (1)种表示方式
//javascript代码
alert(123);
</script>
<script type="text/javascript> (2)种表示方式
//javascript代码
alert(123);
</script>
- 保存在文件中,<script src="js文件路径"></script> (第二种存在形式,js文件里面,使用src引用到HTML中)
<script>中属性scr的地址可以是网络路径,JS是让网页动起来的。
由于我们总是先让用户看到内容,才让网页动起来,所以JavaScript的代码,放在</body>标签最后面
下面来看两段HTML代码,如下:
(1)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js.js"></script>
</head>
<body>
<h1>限制性JavaScript的文件,然后才会执行HTML代码JS是让页面动起来</h1>
</body>
</html>
此段代码,打开之后,先加载的是<script>中的代码,加载完毕之后,才会加载<HTML>代码,这样肯定是不好的,因为用户经常是先看到内容,然后网页自动加载,这样才有更好的体验,因此<script>的代码要放在<body>标签的后面,如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h3>限制性JavaScript的文件,然后才会执行HTML代码JS是让页面动起来</h3>
<h3>先加载HTML内容</h3>
<h3>JS代码写在<body>内部的最下面</h3>
<script src="http://wwww"></script>
</body>
</html>
PS:JavaScript文件防止在<body>标签内部的最下方。
注释:单行注释 // 多行注释:/* */
变量:
python:
name="alex"
JavaScript
name = "alex" #声明全局变量
var name = "eric" #局部变量,写JavaScript尽量都先声明局部变量
基本数据类型:(https://www.cnblogs.com/wupeiqi/articles/5602773.html)
数字
1、数字(Number)
JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。
转换:
parseint() 将某值转换为Int,数字,不成功则NaN
parseFloat() 将某值转换为float类型,不成功则NaN
特殊值:
NaN:非数字。可使用 isNaN(num) 来判断。
Infinity:无穷大。可使用 isFinite(num) 来判断。
写JS代码:
- HTML文件中编写
- 临时,浏览器的终端,console
字符串
a = "alex"
a.charAt(索引位置)
a.substring(起始位置,结束位置)
a.length 获取当前字符串的长度
a.concat() 字符串拼接 >:a = "alex"; >:a.concat("sb") >:"alexsb"
obj.indexof(substring,start) 获取自序列的位置索引
obj.lastIndexof(substring,start) 从后面获取子序列位置
obj.slice(start,end) 切片
列表(数组)
obj = [11,22,33,44]
obj.length
obl.push() 尾部追加元素
obj.pop() 尾部获取一个元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.splice(start,deleteCount,value)插入,删除或替换数组的元素
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,1) 指定位置删除元素
obj.join(sep) 将数组元素链接起来构建一个字符串 >:obj=[11, 666, 999, 44], >:obj.join("-") >:"11-666-999-44"
obj.concat(va1,va2....) 连接数组
obj.sort() 排序
字典
obj = {"k1":"v1","k2":"v2"}
obj["k1"] 获取字典里面元素的值
dic = {"k1":"v1","k2":"v2"}
{k1: "v1", k2: "v2"}
dic
{k1: "v1", k2: "v2"}
typeof(dic)
"object"
for(var item in dic){console.log(item);} #循环的只是键(即索引)
VM4738: k1
VM4738: k2
布尔类型
true
false
条件语句
if(条件) {
}else if(条件) else {}
比较符号 | 含义 |
== | 比较值相等 |
!= | 不想等(值不想等) |
=== | 比较值和类型都相等 |
!=== | 不等于 |
|| | 或 |
&& | 且 |
for循环
1、循环时,循环的元素是索引
a = [11,22,33,44]
for(var item in a){
console.log(item);
}
a = [11,22,33,44]
for(var item in a){
console.log(a[item]);
}
for(var i=0;i<10;i++){}
循环列表
for(var i=0;i<a.length;i=i+1){} 循环列表的方法
定时器:
setInterval("要执行的代码",时间间隔) -- 一直间隔执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//创建一个定时器
//setInterval("alert(123);",5000);
//上面setInterval是设置一个定时器,没5秒出现一个弹框
function f1(){
console.log("百度招人好牛逼,都把广告弄到浏览器上面了,只有程序员才会打开console这个浏览器的地方")
}
setInterval("f1();",)
</script>
</body>
</html>
setInterval("string/function",时间),setInterval是设置间隔时间,执行前面的程序,string/函数,Interval是间隔
alert() 在浏览器打印消息
console.log():在console处打印。
>:tag = document.getElementById("i1"); #从网页中所有HTML中查找Id等于("i1")的标签
>:content = tag.innerText #获取标签内部的内容
函数
function 函数名(参数1,参数2) {
}
Dom操作 (https://www.cnblogs.com/wupeiqi/articles/5643298.html)
1、找到标签
document.getElementById("id值") id是唯一的,在HTML中
document.getElementsByTagName("div") 获取多个元素,数组形式(列表)
document.getElementsByClassName("c1") 获取多个元素,通过class属性的值(列表)
a、直接查找
方法 | 作用 |
document.getElementById | 根据 ID 获取一个标签 |
document.getElementsByName | 根据name属性获取标签集合 |
document.getElementsByClassName | 根据 class 属性获取标签集合 |
document.getElementsByTagName | 根据标签名获取标签集合 |
b、间接查找
获取标签 | 作用 |
parentElement | //父亲点标签元素 |
children | //所有子标签 |
firstElementChild | //第一个子标签元素 |
lastElementChild | //最后一个子标签元素 |
nextElementSibling | //下一个兄弟标签元素 |
previousElementSibling | //上一个兄弟标签元素 |
获取节点 | 作用 |
parentNode | //父节点 |
childNodes | //所有子节点 |
firstNode | //第一个子节点 |
lastChild | //最后一个子节点 |
nextSibling | / / 下一个兄弟节点 |
previousSibling | //上一个兄弟节点 |
2、操作标签
a.InnerText
获取标签中的文本内容
标签.innerText
对标签内部的文本进行重新赋值
标签.innerText = ""
b.className
tag.className=》 直接整体做操作
tag.classList 获取class标签集合
tag.classList.add("样式名") 添加指定样式
tag.classList.remove("样式名") 删除指定样式
ps:
<div onclick="func();">点我</div>
<script>
function func(){
}
</script>
下面HTML代码是一个弹框点击出现和消失的实现,如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.hide{
display:none;
}
.c1{
position:fixed;
left:;
top:;
right:;
bottom:;
background-color:black;
opacity:0.6;
z-index:;
}
.c2{
width:500px;
height:400px;
background-color:white;
position:fixed;
left:%;
top:%;
margin-left:-250px;
margin-top:-200px;
z-index:;
}
</style>
</head>
<body style="margin:0;">
<div>
<input type="button" value="添加" onclick="showModel();"/>
<table>
<thead>
<tr>
<th>
主机名
</th>
<th>
端口
</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.1.1.1</td>
<td></td>
</tr>
<tr>
<td>1.1.1.2</td>
<td></td>
</tr>
<tr>
<td>1.1.1.3</td>
<td></td>
</tr>
</tbody>
</table>
</div>
<!--遮罩曾开始-->
<div id="i1" class="c1 hide"></div>
<!-- 遮罩层结束 --> <!-- 弹出框开始 -->
<div id="i2" class="c2 hide">
<p><input type="text" /></p>
<p><input type="text"/></p>
<p>
<input type="button" value="取消" onclick="hideModel();"/>
<input type="button" value="确定" />
</p>
</div>
<!-- 弹出框结束 -->
<script>
function showModel(){
document.getElementById("i1").classList.remove("hide")
document.getElementById("i2").classList.remove("hide")
}
function hideModel(){
document.getElementById("i1").classList.add('hide')
document.getElementById("i2").classList.add('hide')
}
</script>
</body>
</html>
checkbox多选框里面,checked选择是true,未选择是false,可以进行赋值,checked=true或者checked=false
day15--JavaScript语言的更多相关文章
- <JavaScript语言精粹>-读书笔记(一)
用object.hasOwnProperty(variable)来确定这个属性名是否为该对象成员,还是来自于原型链. for(my in obj){ if(obj.hasOwnProperty(my) ...
- 《JavaScript语言精粹》小记
一.前言 以下内容均摘自<JavaScript语言精粹>一书,本人在读这本书时,发现作者诠释JavaScript很犀利,特别是数组部分,固记录下来,想和大家分享下. 随笔主要包含两大部分: ...
- javascript语言精粹
内容选自:<javascript语言精粹> 1.6种值会为假(==false),分别是false,null,undefined,' ',0,NaN 2.typeof有6种值,分别是'num ...
- 前端学习 第三弹: JavaScript语言的特性与发展
前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ...
- Javascript 语言精粹 代码片段合集
Javascript 语言精粹 代码片段合集 标签:Douglas-Crockford Javascript 最佳实践 原文链接 更好的阅读体验 使用一个method 方法定义新方法 Function ...
- (转)JavaScript二:JavaScript语言的基本语法要求
摘自:http://blog.csdn.net/erlian1992 要学习好JavaScript,首先我们要懂JavaScript语言的一些基本语法要求: 一,区分大小写 JavaScript语言区 ...
- JavaScript语言精粹笔记
JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...
- 第四章 函数(JavaScript:语言精粹)
函数包含一组语句,用来指定对象的行为,其代码可以用来重复使用. 一般来说,编程就是将一组需求分解成一组函数和数据结构的技能. 概览:函数对象 | 函数字面量 | 调用 | 方法调用模式 | 函 ...
- 《JavaScript语言精粹》之函数化
写在前面 看到好多书评和读书笔记都说<JavaScript语言精粹>字字珠玑,名不虚传..当然,要看得懂才行 其实个人认为函数化部分不是很好,举的例子不是十分恰当,之前看不懂是因为被成功误 ...
- 《JavaScript语言精粹》学习笔记
一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ( ...
随机推荐
- SQL语句(一)SQL和数据库数据表的创建
SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...
- 【BZOJ】1443: [JSOI2009]游戏Game
[算法]博弈论+二分图匹配(最大流) [题解]方格图黑白染色得到二分图, 二分图博弈:当起点不属于某个最大匹配时,后手必胜. 问题转化为那些点不属于某个最大匹配. 先找到一个最大匹配,非匹配点加入答案 ...
- linq to xml 简单的增、删、改、查、保存xml文件操作
using System; using System.Collections; using System.Configuration; using System.Data; using System. ...
- JavaScript之事件绑定多个序列执行方法
//一种事件绑定多个方法:以加载事件为例 function addEventLoad(func,isLog) { var oldOnLoad = window.onload; if (typeof w ...
- Database学习 - mysql数据类型约束
mysql数据类型 - 属性
- log4j日志日记记录使用教程
注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太多了...... Logger必须作为类的静态变量使用.原因如下: 1 使用static修饰的属性是归这个类使用的2 也就是 ...
- ROS 多台计算机联网控制机器人
0. 时间同步 sudo apt-get install chrony 1. ubuntu自带的有openssh-client 可以通过如下指令 ssh username@host 来连接同一局域网内 ...
- MR目录结构
D:\MRData\MR\MRS\2017-05-25\TD-LTE_MRS_ZTE_OMC1_20170425000000.zip 每个zip中包含若干FDD-LTE_MRS_OMC1_28163_ ...
- freeRTOS中文实用教程3--中断管理之中断服务例程中使用队列
1.前言 消息队列不仅可以用于事件通信,还可以用来传递数据 2.实例说明消息队列的执行过程 3.主要API API名称 说明 参数 返回值 xQueueSendFromISR()完全等同于 xQueu ...
- C语言函数调用栈(二)
5 函数调用约定 创建一个栈帧的最重要步骤是主调函数如何向栈中传递函数参数.主调函数必须精确存储这些参数,以便被调函数能够访问到它们.函数通过选择特定的调用约定,来表明其希望以特定方式接收参数.此外, ...