3 HTMLJS等前端知识系列之javascript的基础
preface
作为一名运维开发,必须懂得前端知识,比如javascript,dom等等,下面就聊聊javascript。
include
- 数据格式
- 条件判断,循环流程等。
- 函数
- 面向对象
what is javascript??
JavaScript 是世界上最流行的编程语言。
这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
JavaScript 是脚本语言
- JavaScript 是一种轻量级的编程语言。
- JavaScript 是可插入 HTML 页面的编程代码。
- JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
- JavaScript 很容易学习
javascript的存在形式
- 文件,src引用某个js文件
- 块,以代码块的形式存在
javascript 存放在哪?
应该存放在body标签的底部。
局部变量与全局变量
- var 申明的是局部变量
var name='ljf' - 没有加var,表示是全局变量。谨慎使用全局变量。
name='yq'
注释
- 当行注释可以使用//,如下所示
// alert('abc')
- 多行注释可以使用/* */来包裹需要注释的内容
/*
f1();
f2();
*/
Notice
以下操作都是在浏览器的console下操作的。
数据类型:1 数字,字符串,数组(字典)
特殊值
先说说几个特殊的值
- null
- undefined
以上bool值都是false
数字
var age=19
var age=Number(20)
var age=Number('20')
typeof 判断类型
var age=19
typeof age
"number"
age='19'
"19"
typeof age
"string"
parseInt 转换类型,从字符串到数字
age=parseInt(age)
19
parseFloat 转换类型,从字符串到浮点
age='19.9'
"19.9"
age=parseFloat(age)
19.9
age
19.9
字符串 去除两边空格
var name = ' ljf '
undefined
name.trim()
"ljf"
指定左右边 去除空格
name.trimLeft()
"ljf "
name.trimRight()
" ljf"
charAt 取值
从0开始的下标,传入参数为下标
name.charAt(2)
"j"
name.charAt(0)
" "
substring 切片
name.substring(0,2)
" l"
name.substring(2,5)
"jf "
indexOf 获取指定元素的下标
name.indexOf('j')
2
数组(字典)
等于python里面的列表
push 数组后端追加
a=[1,2,3,4]
[1, 2, 3, 4]
a.push(5)
5
a
[1, 2, 3, 4, 5]
unshift 最前面追加
a.unshift(1)
6
a
[1, 1, 2, 3, 4, 5]
splice 指定位置插入
第二个参数必须是0,非0会报错。遵循左闭右开的原则
a.splice(1,0,'ali')
[]
a
["the", "ali", 1, 1, 2, 3, 4, 5]
a.splice(4,0,'fuck')
[]
a
["the", "ali", 1, 1, "fuck", 2, 3, 4, 5]
pop 删除最后一个并且返回删除的值
a=["the", "ali", 1, 1, "fuck", 2, 3, 4]
c=a.pop()
c
4
slice 切片处理
传入下标,然后就能够对列表切片
a
["the", 2, 3, 1, 44]
a.slice(1,3)
[2, 3]
reverse 反转列表
并不返回新值,而是在原处修改。
a
["the", 2, 3, 1, 44]
a.slice(1,3)
[2, 3]
a.reverse()
[44, 1, 3, 2, "the"]
join 拼接功能
a
[44, 1, 3, 2, "the"]
a.join('-')
"44-1-3-2-the"
concat 合并数组
把数组b在a数组后面追加
var b=[11,22,33,44]
undefined
a.concat(b)
[44, 1, 3, 2, "the", 11, 22, 33, 44]
splice 删除指定下标的值
a
["the", 1, "fuck", 2, 3]
a.splice(1,2)
[1, "fuck"]
a
bool值
true和false都是小写的,如下所示:
var a=true;
undefined
a
true
json序列号与反序列化
采用json数据格式
dic = {'k1':'v2'}
Object {k1: "v2"}
m=JSON.stringify(dic)
"{"k1":"v2"}"
n=JSON.parse(m)
Object {k1: "v2"}
下面说说js的循环流程
Notice
以下操作都是在浏览器的console下操作的。
for循环
- break跳出循环
- continue 继续循环
循环数组
在数组里面的,默认是循环列表的下标
li=[11,22,33,44]
[11, 22, 33, 44]
for(var item in li){console.log(item);
}0123
undefinedfor(var item in li){console.log(li[item]);
}11223344
循环字典
默认是循环k
a={'k1':'v1','k2':'v2'}
Object {k1: "v1", k2: "v2"}
for(var i in a){console.log(i)}k1k2
undefined
仿c语言的for循环
这个只能适用于数组,不能适用于字典
for(var i=0;i<100;i++){console.log(i)}012
while循环
while(true){console.log(11)}
if条件判断
下面看看伪代码
if(条件){}else if(条件){}else if() {}
switch 条件判断
下面看看伪代码
switch(name){case 1:console.log('1111');break;case 2:console.log('222');break;default:console.log('dddd')
}
异常捕获
下面看看伪代码
try{}catch(e){ # e就是异常类型,}finally { # 最后执行的。
}
下面看看js的函数定义以及调用
普通函数
function fuc1(args) {console.log(args);return 'ljf'}xx = fuc1(123);alert(xx);
匿名函数
下面这样的函数比较少见
var f = function (args) {console.log(args);};f('this ni ming func')
自执行函数
自动执行的函数,一般用于js库。代码如下
(function(arg){console.log('1212',arg);})('ljf')
面向对象的用法,我们一般用的少,这里的this等于python的self。
function Foo(name,age){this.Name = name;this.Age = age;this.Func = function(arg){return this.Name + arg;}}var obx = new Foo('ljf',22);console.log(obx.Name);console.log(obx.Age);var ret = obx.Func('hehe');console.log(ret)
转载于:https://www.cnblogs.com/liaojiafa/p/6180977.html
3 HTMLJS等前端知识系列之javascript的基础相关推荐
- ajax请求携带tooken_9 HTMLJS等前端知识系列之Ajax post请求带有token向Django请求
我们 在母板上写入这段代码: // 个人定义大函数,不是重点,可以忽略 $(document).ready(function(){ get_sys_load(); var active_node = ...
- javaScript系列 [01]-javaScript函数基础
[01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...
- 前端知识 — HTML内容、CSS基础
前端 1.前端是做什么的 2.我们为什么要学前端? 3.前端都有哪些内容? 1.HTML 2.CSS 3.JavaScript 4.jQuery和Bootstrap Web开发本质: 1.浏览器输入网 ...
- [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型
引言: 前面专题主要介绍了C#1中的2个核心特性--委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...
- JavaScript基础知识系列:面向对象的编程
JavaScript Basics is a series that explore some core concepts that every frontend software engineer ...
- web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)
前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...
- 前端知识体系-全栈系列(图谱+大纲)
源文件地址: https://download.csdn.net/download/gongch0604/86860161 前端知识体系(图谱) 前端工程化体系 node 主流技术栈 大纲 React ...
- web前端知识集合——javascript基础篇之常量和变量(二)
3. 变量和常量: 1.1 变量的声明: js三种方式声明变量,声明不赋值时,默认值为underfined. (1)var声明:var name='Ace',同时声明多个变量var a=1,b=2,c ...
- web前端知识体系大全
1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...
最新文章
- 2021年1月20日 北京经纬恒润科技有限公司一面
- running build_ext building ‘gensim.models.word2vec_inner‘ extension error: Microsoft Visua
- 实用的bit 位操作
- 分布式系统开发——调度技术
- errno_t open_s()打开文件出现的错误分析
- 2021山东科技大学计算机学院,2021年3月山东科技大学计算机等级考试报名工作通知...
- ucosII移植要修改的文件
- pytorch之BatchNorm
- C语言解决约瑟夫环问题
- python查找excel中内容_Excel查找数据
- 利用STM32F103精确控制步进电机
- 手机/iPad异地远程桌面控制Windows电脑【无公网IP】
- 用R语言进行分位数回归
- Python3之模块及包的导入 import用法
- 【课程·研】工程伦理学 | 课堂汇报:个性化推荐技术的伦理学——以平台广告精准投放事件为例
- 监督学习算法的发展史和它们之间的关系:从文氏图到回归、决策树、支持向量机和人工神经网络...
- python 拆包_python 拆包
- (邱维声)高等代数课程笔记:数域
- 大华摄像头,NVR取流规则
- 企立方:拼多多直播预热要怎么做
热门文章
- 女神相册密码忘记了,我只用Python写了20行代码
- [转]python进阶到高阶大全
- 想要轻松入门数据分析,这些知识不得不看!
- 写给数据分析小白:一种通用的数据思维
- canvas.drawBitmap()画出来的bitmap和原bitmap大小不同,有一部分缺失了
- adobe audition cs6 能打开mpcm文件吗?_单根32G内存靠谱吗?阿斯加特 W2 32G DDR4 2666内存测试...
- python通过opc读plc实例_OPC通讯实例(C#通过OPC连接PLC读写数据)
- 蓝桥杯 2017年C语言混搭 C/C++
- Silver Cow Party 图论 最短路问题
- 【caffe-windows】 caffe-master 之Matlab中model的分类应用