day 42 JavaScript 基础知识部分
一. JavaScript存放位置
<script type="text/javascript" src="JavaScript文件路径"></script>
<!-- JavaScript代码推荐位置 --> <link rel="stylesheet" href="CSS文件路径">
<!-- CSS代码推荐位置 -->
二. 常见数据类型
1.数字:JavaScript中不区分整数值和浮点数值,JavaScript中所有数字均用浮点数值表示。
// 声明
var page = 111;
var age = Number(18);
var a1 = 1,a2 = 2, a3 = 3;
// 转换
parseInt("1.2"); // 将某值转换成数字,不成功则NaN
parseFloat("1.2"); // 将某值转换成浮点数,不成功则NaN
/*
NaN,非数字。可使用 isNaN(num) 来判断。
Infinity,无穷大。可使用 isFinite(num) 来判断。
*/
扩展:可以用 typeof(“xx”) 查看数据类型。
2. 字符串(String)
// 声明
var name = "wupeiqi";
var name = String("wupeiqi");
var age_str = String(18); // 常用方法
var name = "wupeiqi";
var value = names[0] // 索引
var value = name.length // 获取字符串长度
var value = name.trim() // 去除空白
var value = name.charAt(index) // 根据索引获取字符
var value = name.substring(start,end) // 根据索引获取子序列
3. 布尔类型(Boolean)
布尔类型仅包含真假,与Python不同的是其首字母小写
var status = true;
var status = false;
/*
在js中进行比较时,需要注意:
== 比较值相等
!= 不等于
=== 比较值和类型相等
!=== 不等于
|| 或
&& 且
*/
4. 数组(Array)
JavaScript中的数组类似于Python中的列表
// 声明
var names = ['武沛齐', '肖峰', '于超']
var names = Array('武沛齐', '肖峰', '于超')
// 常见方法
var names = ['武沛齐', '肖峰', '于超']
names[0] // 索引
names.push(ele) // 尾部追加元素
var ele = names.obj.pop() // 尾部移除一个元素
names.unshift(ele) // 头部插入元素
var ele = obj.shift() // 头部移除一个元素
names.splice(index,0,ele) // 在指定索引位置插入元素
names.splice(index,1,ele) // 指定索引位置替换元素
names.splice(index,1) // 指定位置删除元素
names.slice(start,end) // 切片
names.reverse() // 原数组反转
names.join(sep) // 将数组元素连接起来以构建一个字符串
names.concat(val,..) // 连接数组
names.sort() // 对原数组进行排序
5. 字典(对象Object)
JavaScript中其实没有字典类型,字典是通过对象object构造出来的。
// 声明
info = {
name:'武沛齐',
"age":18
}
// 常用方法
var val = info['name'] // 获取
info['age'] = 20 // 修改
info['gender'] = 'male' // 新增
delete info['age'] // 删除
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript学习</title>
<style>
table{
/*边框合并*/
border-collapse: collapse;
}
table th,table td{
border: 1px solid #ddd;
padding: 8px;
}
table th{
font-weight: bold;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
</tr>
</thead>
<tbody id="body">
</tbody>
</table>
<script type="text/javascript">
var userList = [
{id:1,name:'武沛齐',gender:'男'},
{id:2,name:'吴老板',gender:'男'},
{id:3,name:'肖老板',gender:'男'}
];
// 笨方法
for(var i in userList){
var row = userList[i];
var trNode = document.createElement('tr');
var tdNodeId = document.createElement('td');
tdNodeId.innerText = row.id;
trNode.appendChild(tdNodeId);
var tdNodeName = document.createElement('td');
tdNodeName.innerText = row.name;
trNode.appendChild(tdNodeName);
var tdNodeGender = document.createElement('td');
tdNodeGender.innerText = row.gender;
trNode.appendChild(tdNodeGender);
var bodyNode = document.getElementById('body');
bodyNode.appendChild(trNode);
}
// 简便方法
/*
for(var i in userList){
var row = userList[i];
var trNode = document.createElement('tr');
for(var key in row){
var tdNode = document.createElement('td');
tdNode.innerText = row[key];
trNode.appendChild(tdNode);
}
var bodyNode = document.getElementById('body');
bodyNode.appendChild(trNode);
}
*/
</script>
</body>
</html>
案例:动态表格
6. 其他(null、undefine)
null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”,相当于Python的None。
undefined是一个特殊值,表示只是声明而变量未定义。
var name;
console.log(typeof(name));
三、条件
if,else,用于判断。
var age = 18;
if(age <18){
}else if(age>=18 and 1 == 1){
}else if(age>=30){
}else{
}
switch,case,用于判断等于某些值。
var num = 18;
switch(num){
case 10:
console.log('未成年');
break;
case 18:
console.log('成年');
break;
case 35:
console.log('油腻老男人');
break;
case 100:
console.log('....');
break;
default:
console.log('太大了');
}
四、循环语句
for(var i in ['国产','日韩','欧美'])
,默认生成索引,适用于:字符串、元组、字典。
var names = ['武沛齐', '肖峰', '于超']
for(var index in names){
console.log(index, names[index])
}
for(var i=0;i<10;i++)
,自定义索引并设置增加步长,适用于:字符串、元组。(字典索引非有序)
var names = ['武沛齐', '肖峰', '于超']
for(var i=0;i<names.lenght;i++){
console.log(i, names[i])
}
双重循环
for(var i = 0; i < 5; i++){ //控制行数
for(var j = 0; j < 10; j++){//控制的每行的*数
document.write('*');
}
document.write('<br>');
}
五、异常处理
在JavaScript的异常处理中有两个注意事项:
- 主动抛异常 throw “xx” 或 throw Error({code:1000,error:’错了’})
- catch只能破获一次,如果想要对异常精细化处理可以在catch代码块中再做类型判断。
try {
//这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
var name = ''
}
catch (e) {
// 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
//e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
//无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。
}
六、函数
1、函数
function func(arg){
return arg + 1;
}
2、匿名函数
function (arg){
return arg + 1;
}
// 一般用于当做参数使用,例如:设置定时器 setInterval(function(){},1000)
这里的function(){}是没有函数名的函数。成为匿名函数,后面的1000是时间间隔,单位是毫秒。
3、自执行函数,自动触发执行
(function(arg){
console.log(arg);
})('wupeiqi')
<!--【可选部分】一般用于做数据隔离使用,因为JS中是以函数为作用域,所以当js代码比较多时,通过自执行函数做数据隔离(闭包)。 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript学习</title>
</head>
<body>
<script type="text/javascript">
funcList = [];
(function () {
var name = '武沛齐';
function f1() {
console.log(name);
}
funcList.push(f1);
})();
(function () {
var name = 'Alex';
function f2() {
console.log(name);
}
funcList.push(f2);
})();
funcList[0]()
</script>
</body>
</html>
例子
七、json 序列化
JavaScript提供了json序列化功能,即:将对象和字符串之间进行转换。
1、JSON.stringify(object) ,序列化
var info = {name:'alex',age:19,girls:['钢弹','铁锤']}
var infoStr = JSON.stringify(info)
console.log(infoStr) # '{"name":"alex","age":19,"girls":["钢弹","铁锤"]}'
2、JSON.parse(str),反序列化
var infoStr = '{"name":"alex","age":19,"girls":["钢弹","铁锤"]}'
var info = JSON.parse(infoStr)
console.log(info)
应用场景:网络中数据传输本质上是基于字符串进行,如果想要把一个js的对象通过网络发送到某个网站,就需要对对象进行序列化然后发送。(以后学习ajax会经常使用)。
JavaScript
编程语言,由浏览器编译并运行
、存在形式:
、放置位置
body内部最下面
、变量
var a = ; 局部变量
a = ; 全部变量 *****
===》
var a = ;
参考博客:https://pythonav.com/wiki/detail/5/63/
day 42 JavaScript 基础知识部分的更多相关文章
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- JavaScript基础知识笔记
做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...
- Jquery源码中的Javascript基础知识(三)
这篇主要说一下在源码中jquery对象是怎样设计实现的,下面是相关代码的简化版本: (function( window, undefined ) { // code 定义变量 jQuery = fun ...
- JavaScript基础知识从浅入深理解(一)
JavaScript的简介 javascript是一门动态弱类型的解释型编程语言,增强页面动态效果,实现页面与用户之间的实时动态的交互. javascript是由三部分组成:ECMAScript.DO ...
随机推荐
- 一:XMind
- Access教程 Access学习 Access培训 Access QQ交流集中地
Access教程 Access学习 Access培训 Access QQ交流集中地 http://www.office-cn.net/plugin.php?id=zstm_qqgroup:index ...
- 前端上传图片 base64转二进制上传
var dataURItoBlob = function (dataURI) { var byteString = atob(dataURI.split(',')[1]); var mimeStrin ...
- NOIP201605玩具谜题-解题报告
NOIP201605玩具谜题-解题报告 2019-11- ...
- python自带的IDLE编译器,听说大神都用这个(附python下载安装教程)
python这两年这么火,学的人越来越多,小伙伴们都用什么编译器了? 今天教大家安装python并熟悉python自带的编译器IDLE. 第一步,进入python官网https://www.pytho ...
- SAP SOAMANAGER报错原因与故障排除方法
一些刚刚接触到SAP Webservice的开发者由于对SAP Netweaver组件的不熟悉,往往在使用事物码SOAMANAGER进行webservice配置的时候,发现无法正常启动SOAMANAG ...
- CVE-2019-0708: Windows RDP远程漏洞无损检测工具下载
CVE-2019-0708: Windows RDP远程漏洞无损检测工具下载 0x00下载链接 https://free.360totalsecurity.com/CVE-2019-0708/dete ...
- Scrapy爬虫day1——环境配置
安装 Scrapy pip install scrapy 配置虚拟环境 mkvirtualenv Spider 创建项目 在Spider的虚拟环境中运行 scrapy startproject Boo ...
- csp-s模拟测试101的T3代码+注释
因为题目过于大神所以单独拿出来说.而且既然下发std了颓代码貌似也不算可耻233 很难讲啊,所以还是写在代码注释里面吧 因为比较认真的写了不少注释,所以建议缩放到80%观看,或者拿到gedit上 1 ...
- Lucas的数论:杜教筛,莫比乌斯反演
Description: 求$\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} d(i \times j)$ $d(i)$表示$i$的约数个数和.$n \leq ...