3 HTML&JS等前端知识系列之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);
}
0
1
2
3
undefined
for(var item in li){
console.log(li[item]);
}
11
22
33
44
循环字典
默认是循环k
a={'k1':'v1','k2':'v2'}
Object {k1: "v1", k2: "v2"}
for(var i in a){console.log(i)}
k1
k2
undefined
仿c语言的for循环
这个只能适用于数组,不能适用于字典
for(var i=0;i<100;i++){console.log(i)}
0
1
2
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)
3 HTML&JS等前端知识系列之javascript的基础的更多相关文章
- 4 HTML&JS等前端知识系列之Dom的基础
preface 主要聊聊dom的编程,包含下面的内容: what's the dom dom选择器 innerText 替换或写入文本 value 获取input,select,textarea的值 ...
- 8 HTML&JS等前端知识系列之jquery的自定义方法
preface 有时候我们在前端写jquery的时候,会自己自定义些方法,这样可以不需要重复造轮子.先说说2种自定义方法的区别: 不跟在选择器后面的 跟在选择器后面的. 那下面说说如何自定义jquer ...
- 5 HTML&JS等前端知识系列之jquery基础
preface jquery其实就是对javascript的再次封装,方便我们开发者调用,下载地址是:http://jquery.com/download/ ,下面就说说常用使用方法 选择器 基本选择 ...
- 8 HTML&JS等前端知识系列之Ajax的例子
what is ajax ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...
- 9 HTML&JS等前端知识系列之Ajax post请求带有token向Django请求
我们 在母板上写入这段代码: <script type="text/javascript"> // 个人定义大函数,不是重点,可以忽略 $(document).read ...
- 7 HTML&JS等前端知识系列之jquery的事件绑定
preface 我们知道,每一个a,input等等标签都可以为其绑定一个事件,onclick也好,focus 也罢,都可以绑定的.但是众神key想过这个问题没有,倘若这里有1000个input标签需要 ...
- 前端知识体系:JavaScript基础-变量和类型
前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...
- 前端知识杂烩(Javascript篇)
1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...
- 前端知识体系:JavaScript基础-作用域和闭包-JavaScript的作用域和作用域链
JavaScript的作用域和作用域链 作用域: 变量的作用域无非两种:全局作用域和局部作用域 全局作用域: 最外层函数定义的变量拥有全局作用域.即对任何内部函数来说都是可以访问的. <scri ...
随机推荐
- out
//练习1 class Program { static void Main(string[] args) { //写一个方法 求一个数组中的最大值.最小值.总和.平均值 int[] numbers ...
- ORA-00600: internal error code, arguments: [LibraryCacheNotEmptyOnClose]
案例环境: 操作系统版本: Red Hat Enterprise Linux ES release 4 数据库版本 : 10.2.0.4.0 32 bit 案例介绍: 今天我执行stop_ora ...
- Maven设置代理服务器
在setting.xml中设置以下信息即可,请修正对应信息 <proxies> <proxy> <id>optional</id> <active ...
- 每天一个linux命令(3):pwd命令
Linux中用 pwd 命令来查看”当前工作目录“的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录. 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. ...
- Tomcat服务无法开启,点击start不一会就变成stopped
前天在学习J2EE方面技术时,运行一个调试示例,需要用到Tomcat服务,结果使用Myeclipse怎么也打不开服务.之后去尝试手动打开Tomcat服务也无法成功,一直弄了好几个小时.后来,问了一下隔 ...
- monkeyrunner之录制与回放(七)
monkeyrunner为我们提供了录制 回放的功能. 录制与回放使用原因:实际项目,需求变更频繁,且测试任务多,我们没有足够时间去写测试脚本,这是就可以进行录制脚本,然后通过回放,跑完需要的流程. ...
- HDU2767Proving Equivalences[强连通分量 缩点]
Proving Equivalences Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Hibernate中的一对一关联
Hibernate提供了两种一对一映射关联关系的方式: 1)按照外键映射 2)按照主键映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映 ...
- [No000073]C#直接删除指定目录下的所有文件及文件夹(保留目录)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- jmeter(三)Sample之SOAP/XML-RPC Request
项目背景:公司的微信端H5界面新开发了会员注册功能,需要对其进行压力测试 项目目标:需要承受每分钟最少6000的压力 一.建立一个测试计划(test plan) 之前有说过,jmeter打开后会自动生 ...