preface

作为一名运维开发,必须懂得前端知识,比如javascript,dom等等,下面就聊聊javascript。

include

  1. 数据格式
  2. 条件判断,循环流程等。
  3. 函数
  4. 面向对象

what is javascript??

JavaScript 是世界上最流行的编程语言。

这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

JavaScript 是脚本语言

  1. JavaScript 是一种轻量级的编程语言。
  2. JavaScript 是可插入 HTML 页面的编程代码。
  3. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
  4. JavaScript 很容易学习

javascript的存在形式

  1. 文件,src引用某个js文件
  2. 块,以代码块的形式存在

javascript 存放在哪?

应该存放在body标签的底部。

局部变量与全局变量

  1. var 申明的是局部变量

    var name='ljf'
  2. 没有加var,表示是全局变量。谨慎使用全局变量。

    name='yq'

注释

  1. 当行注释可以使用//,如下所示
// alert('abc')
  1. 多行注释可以使用/* */来包裹需要注释的内容
/*
f1();
f2();
*/

Notice

以下操作都是在浏览器的console下操作的。

数据类型:1 数字,字符串,数组(字典)

特殊值

先说说几个特殊的值

  1. null
  2. 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循环

  1. break跳出循环
  2. 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的基础的更多相关文章

  1. 4 HTML&JS等前端知识系列之Dom的基础

    preface 主要聊聊dom的编程,包含下面的内容: what's the dom dom选择器 innerText 替换或写入文本 value 获取input,select,textarea的值 ...

  2. 8 HTML&JS等前端知识系列之jquery的自定义方法

    preface 有时候我们在前端写jquery的时候,会自己自定义些方法,这样可以不需要重复造轮子.先说说2种自定义方法的区别: 不跟在选择器后面的 跟在选择器后面的. 那下面说说如何自定义jquer ...

  3. 5 HTML&JS等前端知识系列之jquery基础

    preface jquery其实就是对javascript的再次封装,方便我们开发者调用,下载地址是:http://jquery.com/download/ ,下面就说说常用使用方法 选择器 基本选择 ...

  4. 8 HTML&JS等前端知识系列之Ajax的例子

    what is ajax ? AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新 ...

  5. 9 HTML&JS等前端知识系列之Ajax post请求带有token向Django请求

    我们 在母板上写入这段代码: <script type="text/javascript"> // 个人定义大函数,不是重点,可以忽略 $(document).read ...

  6. 7 HTML&JS等前端知识系列之jquery的事件绑定

    preface 我们知道,每一个a,input等等标签都可以为其绑定一个事件,onclick也好,focus 也罢,都可以绑定的.但是众神key想过这个问题没有,倘若这里有1000个input标签需要 ...

  7. 前端知识体系:JavaScript基础-变量和类型

    前端工程师自检清单 1. JavaScript规定了几种语言类型 2. JavaScript对象的底层数据结构是什么 3. Symbol类型在实际开发中的应用.可手动实现一个简单的 Symbo 4. ...

  8. 前端知识杂烩(Javascript篇)

    1. JavaScript是一门什么样的语言,它有什么特点?2.JavaScript的数据类型都有什么?3.请描述一下 cookies,sessionStorage 和 localStorage 的区 ...

  9. 前端知识体系:JavaScript基础-作用域和闭包-JavaScript的作用域和作用域链

    JavaScript的作用域和作用域链 作用域: 变量的作用域无非两种:全局作用域和局部作用域 全局作用域: 最外层函数定义的变量拥有全局作用域.即对任何内部函数来说都是可以访问的. <scri ...

随机推荐

  1. 课程上线 -“新手入门 : Windows Phone 8.1 开发”

    经过近1个月的准备和录制,“新手入门 : Windows Phone 8.1 开发”系列课程已经在Microsoft 虚拟学院上线,链接地址为:http://www.microsoftvirtuala ...

  2. C# 实现酒店房态图

    酒店管理系统最重要和实用的是能够及时.一目了然的反应房间状态的房态图,之前在开发一个的酒店管理系统中做了一个还算实用的房态图,现在分享下: 鼠标移到每个房间上面,可显示提示信息: 还可以自定义设置不同 ...

  3. 理解 virbr0 - 每天5分钟玩转 OpenStack(11)

    virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能. virbr0 默认分配了一个IP 192.168.122.1,并为连接其上的其他虚拟 ...

  4. 微信公众平台开发——微信授权登录(OAuth2.0)

    1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户 ...

  5. 13、Apache中虚拟目录和目录权限配置

    一.虚拟目录 之前的个人主页,为了安全起见,需要把~yanji 用户隐藏起来,这时就可以设置个 虚拟目录. 它在Apache服务器应用比较多,能够隐藏系统的真实目录,实用性非常高. 虚拟目录主要 通过 ...

  6. 4412开发板学习笔记-NFS服务器的搭建

    转自iTOP-4412讨论群: http://www.topeetboard.com 先来介绍一下NFS: NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件 ...

  7. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  8. 【Python数据分析】四级成绩分布 -matplotlib,xlrd 应用

    最近获得了一些四级成绩数据,大概500多个,于是突发奇想是否能够看看这些成绩数据是否满足所谓的正态分布呢?说干就干,于是有了这篇文章.文章顺带介绍了xlrd模块的一些用法和matplotlib画自定义 ...

  9. 第一个JAVA应用

    1.1创建源文件 1.1.1Java源文件结构 Java应用由一个或多个扩展名为“.Java”的文件构成,这些文件被成为源文件.从编译角度,则被称为编译单元(Compilation Unit). 如果 ...

  10. POJ1275 Cashier Employment[差分约束系统 || 单纯形法]

    Cashier Employment Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7997   Accepted: 305 ...