前端 - JaveScrip
今日内容
JS简介
全程JaveScript但是与Jave没有关系 知识为了蹭Jave热度
它是一门前端工程师的编程语言 但是它本身有很多逻辑错误
IT行业鄙视链:前端、运维、测试、产品
前端想一统天下:node.js
JS发展史>>>:JavaScript很容易学习
JS基础
1.注释语法
//单行注释
/*多行注释*/
2.引入js的多种方式
1.hend内script标签内编写
2.head内script标签src属性引入外部js资源
3.body内最底部通过script变迁src属性引入外部js资源(最常用)
ps:注意页面的下载是从上往下的 所以操作标签js代码一定要等待标签加载完毕再执行才可以正常运行
3.结束符号
;(可写可不写)
变量与常量
变量
js的变量名可以使用_,数字,字母,$组成 不能用数字开头
在js中声明变量需要使用关键字
var
var name='jason'
let
let name='jason'
name = 'kevin' 直接改数据值
ps:let是ECMA6新语法 可以在局部定义变量影响全局
常量
在js中声明常量也是需要关键字
const
const=666
值不能改变
基本数据类型
在js中查看数据类型的方式是typeof
1.数值类型(Number)
在JS中整型与浮点型不分家 都叫Number
NaN也是属于数值类型 意思是:不是一个数字(Not A Number)
2.字符类型(String)
单引号 'jason'
双引号 "jason"
模板字符串 `jason`
格式化输出
let name = 'jason'
let age = 18
let desc = `my name is ${name} my age is ${age}`
1.字符串拼接推荐使用+号
2.常用内置方法
3.布尔值(Boolean)
js里面的布尔值与python不同
js是纯小写 python是首字母大写
''、0、null、undefined、NaN都是false
4.null和undefined
null 表示值为空(曾经拥有过)
undfinded 表示没有定义过(从来没有)
5.对象(object)
对象之数组(Array)>>>>:类似于python中的列表
let l1 = [11,22,33]
对象之自定义对象(object)>>>>:类似于python中的字典
let d1 = {'name':'jason'}
let d2 = new Object()
d2.name='jason'
获取值可以直接用对象名.k
运算符
1.算术运算符
+ - * / % ++(自增1) --(自减1)
var x=10
var res1=x++ 加号在后面 先赋值后自增
var res2=++x 加号在前面 先自增后赋值
2.比较运算符
!=(值不等 弱) ==(值相等 弱) ===(值相等 强) !==(值不等 强)
3.逻辑运算符
&&(与) ||(或) !(非)
流程控制
if
1.单if分支
if(分支条件){
条件成立执行的代码
}
2.if....else分支
if(分支条件){
条件成立执行的代码
}else{
条件不成立执行的代码
}
3.if...else if...else 分支
if(条件1){
条件1成立执行的代码
}else if(条件2){
条件1不成立 条件2成立执行的代码
}else{
条件1和条件2都不成立执行的代码
}
4.如果分支结构中else if很多还可以考虑使用swithch语法
seitch(条件){
case 条件1:
条件1成立执行的代码;
break;如果没有break会基于某个case一致执行下去
case 条件2:
条件2成立执行的代码;
break
case 条件3:
条件3成立执行的代码;
break;
case 条件4:
条件4成立执行的代码;
break;
default:
条件都不满足执行的代码
}
for循环
for(起始条件;循环条件;条件处理){
循环体代码
}
for(let i=0;i<10;i++){
console.log(i)
}
let dd = {'name':'jason','age':18}
for(let k in dd){
console.log(k)
}
while循环
while(循环条件){
循环体代码
}
三元运算
python中:
值1 if条件 else 值2
js中:
条件?值1:值2
函数
function 函数名(形参){
//函数注释
函数体代码
return 返回值
}
匿名函数
var s1=function(a,b){
return a+b;
}
不用加函数名
箭头函数
var f = function(v){
return v;
}
简写:
var f = v => v;
1.js中函数的形参与实参个数可以不对应
传少了就是undefined 传多了不用
2.函数体代码中有一个关键字arguments用来接收所有实参(不能多也不能少)
3.函数的返回值如果有多个需要自己处理成一个整体
函数的全局变量和局部变量
和python中一样
内置对象
内置对象 | |
---|---|
getDate() | 获取日 |
getDay() | 获取星期 |
getMonth() | 获取月(0-11) |
getFullYear() | 获取完整年份 |
getYear() | 获取年 |
getHours() | 获取小时 |
getMinutes() | 获取分钟 |
getSeconds() | 获取毫秒 |
getTime() | 返回累计毫秒数 |
JSON对象
JSON.stringify(dd) 序列化
JSON.parse(ss) 反序列化
正则表达式
定义正则的两种方式:
var reg1 = new RegExp("[1][a-zA-Z0-9{}]")
var reg2 = /[2][a-zA-Z0-9]{5,9}$/
1.全局模式的规律
lastINdex
2.test匹配数据不传默认传undefined
前端 - JaveScrip的更多相关文章
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)
前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...
- 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Fis3的前端工程化之路[三大特性篇之声明依赖]
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...
- Fis3的前端工程化之路[三大特性篇之内容嵌入]
Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...
- Fis3的前端模块化之路[基础篇]
Fis3版本:v3.4.22 fis3是一个构建工具 解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题. 安装 npm install -g fis3 运行 fis3 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
随机推荐
- .net core-利用PdfSharpCore和SkiaSharp.QrCode 添加PDF二维码页眉
前序 由于去年的一个项目需要在PDF 添加公司二维码 ,当时在网上找了很多操作PDF方案,第一种Aspose.PDF,很遗憾 Aspose.PDF 有添加版权的背景还是页脚我忘记了,不适合公司项目,最 ...
- 还在使用@Autowrired注入?不妨试试@RequiredArgsConstructor
一.前言 小编最近在项目里看到有的同事大神用到了Lombok中的一个@RequiredArgsConstructor,带着好奇发现这个东西就是简化了一些@Autowired注解,想想如果一个Servi ...
- 关于引用JS和CSS文件刷新浏览器缓存问题,部署服务器后客户端样式不刷新
问题描述 对样式的css文件进行了修改,部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常. 问题分析 研究之后发现可能的原因有 css文件过大,加载缓慢 本地缓存问题,虽然服务器修改了c ...
- Linux软件安装方式 - Tarball&RPM&YUM
软件安装 简介 概念详解 # 概念详解 - 开放源码: 程序码, 写给人类看的程序语言, 但机器并不认识, 所以无法执行; - 编译器: 将程序码转译成为机器看的懂得语言, 就类似翻译者的角色; - ...
- Nacos基本学习
一.注册中心 1.启动 1.下载nacos 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://github.com/ali ...
- 某 .NET RabbitMQ SDK 有采集行为,你怎么看?
一:背景 1.讲故事 前几天有位朋友在微信上找到我,说他的一个程序上了生产之后,被运维监控定位到这个程序会向一个网址为: http://m.365ey.net 上不定期打数据,而且还是加密的格式,要他 ...
- Vue ref 和 v-for 结合(ref 源码解析)
前言 Vue 中组件的使用很方便,而且直接取组件实例的属性方法等也很方便,其中通过 ref 是最普遍的. 平时使用中主要是对一个组件进行单独设置 ref ,但是有些场景下可能是通过给定数据渲染的,这时 ...
- Aspose.Cell和NPOI生成Excel文件
1.使用Aspose.Cell生成Excel文件,Aspose.Cell是.NET组件控件,不依赖COM组件 1首先一点需要使用新建好的空Excel文件做模板,否则容易产生一个多出的警告Sheet 1 ...
- 46.drf过滤、搜索、排序
DRF的过滤类 drf过滤器在filters模块中,主要有四个类 BaseFilterBackend:过滤基类,留好占位方法待后续继承 SearchFilter:继承BaseFilterBackend ...
- HMM算法python实现
基础介绍,后5项为基础5元素 Q = ['q0', 'q1', 'q2', 'q3'] # 状态集合 States,共 N 种状态 V = ['v0', 'v1'] # 观测集合 Observatio ...