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);
}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的基础相关推荐

  1. ajax请求携带tooken_9 HTMLJS等前端知识系列之Ajax post请求带有token向Django请求

    我们 在母板上写入这段代码: // 个人定义大函数,不是重点,可以忽略 $(document).ready(function(){ get_sys_load(); var active_node = ...

  2. javaScript系列 [01]-javaScript函数基础

    [01]-javaScript函数基础 1.1 函数的创建和结构 函数的定义:函数是JavaScript的基础模块单元,包含一组语句,用于代码复用.信息隐蔽和组合调用. 函数的创建:在javaScri ...

  3. 前端知识 — HTML内容、CSS基础

    前端 1.前端是做什么的 2.我们为什么要学前端? 3.前端都有哪些内容? 1.HTML 2.CSS 3.JavaScript 4.jQuery和Bootstrap Web开发本质: 1.浏览器输入网 ...

  4. [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性--委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  5. JavaScript基础知识系列:面向对象的编程

    JavaScript Basics is a series that explore some core concepts that every frontend software engineer ...

  6. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

  7. 前端知识体系-全栈系列(图谱+大纲)

    源文件地址: https://download.csdn.net/download/gongch0604/86860161 前端知识体系(图谱) 前端工程化体系 node 主流技术栈 大纲 React ...

  8. web前端知识集合——javascript基础篇之常量和变量(二)

    3. 变量和常量: 1.1 变量的声明: js三种方式声明变量,声明不赋值时,默认值为underfined. (1)var声明:var name='Ace',同时声明多个变量var a=1,b=2,c ...

  9. web前端知识体系大全

    1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的 ...

最新文章

  1. 2021年1月20日 北京经纬恒润科技有限公司一面
  2. running build_ext building ‘gensim.models.word2vec_inner‘ extension error: Microsoft Visua
  3. 实用的bit 位操作
  4. 分布式系统开发——调度技术
  5. errno_t open_s()打开文件出现的错误分析
  6. 2021山东科技大学计算机学院,2021年3月山东科技大学计算机等级考试报名工作通知...
  7. ucosII移植要修改的文件
  8. pytorch之BatchNorm
  9. C语言解决约瑟夫环问题
  10. python查找excel中内容_Excel查找数据
  11. 利用STM32F103精确控制步进电机
  12. 手机/iPad异地远程桌面控制Windows电脑【无公网IP】
  13. 用R语言进行分位数回归
  14. Python3之模块及包的导入 import用法
  15. 【课程·研】工程伦理学 | 课堂汇报:个性化推荐技术的伦理学——以平台广告精准投放事件为例
  16. 监督学习算法的发展史和它们之间的关系:从文氏图到回归、决策树、支持向量机和人工神经网络...
  17. python 拆包_python 拆包
  18. (邱维声)高等代数课程笔记:数域
  19. 大华摄像头,NVR取流规则
  20. 企立方:拼多多直播预热要怎么做

热门文章

  1. 女神相册密码忘记了,我只用Python写了20行代码
  2. [转]python进阶到高阶大全
  3. 想要轻松入门数据分析,这些知识不得不看!
  4. 写给数据分析小白:一种通用的数据思维
  5. canvas.drawBitmap()画出来的bitmap和原bitmap大小不同,有一部分缺失了
  6. adobe audition cs6 能打开mpcm文件吗?_单根32G内存靠谱吗?阿斯加特 W2 32G DDR4 2666内存测试...
  7. python通过opc读plc实例_OPC通讯实例(C#通过OPC连接PLC读写数据)
  8. 蓝桥杯 2017年C语言混搭 C/C++
  9. Silver Cow Party 图论 最短路问题
  10. 【caffe-windows】 caffe-master 之Matlab中model的分类应用