今日内容

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


  1. a-zA ︎

  2. a-zA-Z ︎

前端 - JaveScrip的更多相关文章

  1. 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)

    通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...

  2. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  3. 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧

    记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Fis3的前端工程化之路[三大特性篇之声明依赖]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  6. Fis3的前端工程化之路[三大特性篇之内容嵌入]

    Fis3版本:v3.4.22 Fis3的三大特性 资源定位:获取任何开发中所使用资源的线上路径 内容嵌入:把一个文件的内容(文本)或者base64编码(图片)嵌入到另一个文件中 依赖声明:在一个文本文 ...

  7. Fis3的前端模块化之路[基础篇]

    Fis3版本:v3.4.22 fis3是一个构建工具 解决前端开发中自动化工具.性能优化.模块化框架.开发规范.代码部署.开发流程等问题. 安装 npm install -g fis3 运行 fis3 ...

  8. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  9. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

随机推荐

  1. 2022最新最详细必成功的在Vscode中设置背景图、同时解决不受支持的问题

    文章目录 1.效果展示 2.设置背景图的详细步骤 2.1 .下载background插件 2.2 .选择扩展设置 2.3 .在setting.json中编辑 2.4.对应的配置文件 2.5 .重启电脑 ...

  2. 累加和为 K 的子数组问题

    累加和为 K 的子数组问题 作者:Grey 原文地址: 博客园:累加和为 K 的子数组问题 CSDN:累加和为 K 的子数组问题 题目说明 数组全为正数,且每个数各不相同,求累加和为K的子数组组合有哪 ...

  3. python不确定性计算之粗糙集属性约简

    粗糙集属性约简 本实验同时采用区别矩阵和依赖度约简. 在依赖度约简中,设置依赖度计算函数和相对约简函数,对读取的数据进行处理,最后根据依赖度约简. 在读取数据后判断有无矛盾,若有则进行决策表分解,然后 ...

  4. Jquery中Trigger()方法

    1. $(selector).trigger(event,[param1,param2,...]) 方法触发被选元素标签的指定事件类型 为元素边赋值为true,并触发元素标签的change方法 $(' ...

  5. 32bit和64bit系统的区别,运行机制浅析

    32bit:内存的最大寻址空间是2^32=4G,就是说32位系统的处理器最大只支持到4G内存 64bit:内存的最大寻址空间是2^64,大于1亿GB,但是实际上支持不到那么大的内存,大概是2^40+ ...

  6. HTTPS - 揭秘 TLS 1.2 协议完整握手过程--此文为转发文,一定要结合wirshark工具看,很清楚

    winshark 筛选条件为:tls and ip.src==xxx 本文通过对一次 TLS 握手过程的数据抓包分析做为切入点,希望能进一步的帮助大家理解 HTTPS 原理. HTTPS 是建立在 S ...

  7. hwlog--limiter.go

    // Copyright(C) 2021. Huawei Technologies Co.,Ltd. All rights reserved.// Package limiter implement ...

  8. Linux系统安装 tftp服务 NFS服务

    安装tftp服务 安装 sudo apt-get install tftp-hpa tftpd-hpa 配置文件 # /etc/default/tftpd-hpa TFTP_USERNAME=&quo ...

  9. 一个宁静祥和没有bug的下午和SqlSession的故事

    1 背景 这是一个安静祥和没有bug的下午.作为一只菜鸡,时刻巩固一下基础还是很有必要的,如此的大好时机,就让我来学习学习mybatis如何使用. 这可和我看到的不一样啊,让我来看看项目里怎么写的. ...

  10. 关于 Windows6.1-KB2999226-x64.msu 此更新不适用你的计算机解决办法

    前言 今天被这个破问题坑了很长时间,网上一大堆扯跳过那个检查,通过提取 cab 文件然后直接用命令安装,我可以明确的告诉你不是那样的解决的,因为我实际用命令装过也装不上(这里我吐槽一下,我猜你最初的问 ...