今日理解之js
JavaScript
是前端的一门编程语言(也是有逻辑)
node.js 支持前端js代码 跑在后端服务器上
Js跟Java什么关系?
Js跟Java半毛钱关系都没有!!!
原因是当初Java特别火 想蹭热度
js是网警公司开发的 该公司想让所有的浏览器都支持该语言
折中 改个名字 js也叫ECMAScript(两者等价)
当前使用较多的版本
2011 ECMAScript 5.1 版本变更
新出来
2015 ECMAScript 6 添加类和模块
JS
注释
// 单行注释
/*
多行注释1
多行注释2
*/
js的引入方式
1.script标签内部直接书写
<script>
alert(123)
</script>
2.通过script标签src书写 引入外部js文件
<script src="js.js"></script>
Js里面的变量
在js中声明变量需要使用关键字
var 声明的是全局有效
let 可以只在局部有效(ES6新语法)
var name = 'jason'
let name = 'oscar'
js中变量的命名规范
1.数字 字母 下划线 $
2.不能用关键字作为变量名
3.推荐你使用驼峰题命名
python推荐使用下划线(C++)
user_name
js推荐使用驼峰体(前端)
userName
js代码默认是以分号作为结束符
confirm('are you sure?');
你不写分号通常情况下一点问题都没有
研究var与let的区别
看截图
python中有无常量
常量:无法被修改的量
python中没有真正意义上的常量,我们约定俗成的将全大写的变量
称之为常量
*args,**kwargs
js中有常量
const 定义真正的常量 不能被修改
js中的数据类型
数值类型 Number
(int float)
字符类型 string
对象 object
数组 []
自定义对象 {}
布尔值 Boolean
true
flase
undefined
symbol
typeof 用来查看js数据类型
数值类型
包含整型浮点型
NaN也是数值类型 但是表示的意思是 不是一个数字
字符类型
字符串的拼接
python中不推荐使用加号(效率极低) %s format
js中推荐你使用加号来做字符串的拼接
如何定义多行文本
模板字符串
布尔值
在js中布尔值全部是小写!!!
true
false
js其实也是面向对象编程
数组
python中往列表中添加数据的方法
1.append 尾部追加
l = [1,2]
l.append([1,2,33,4])
l = [1,2,[1,2,33,4]]
2.insert 按照索引插入
3.extend 扩展列表
内部其实就是for循环+append
l = [1,2]
l.extend([1,2,3,4])
l = [1,2,1,2,3,4]
python中列表删除元素有几种方式
1.remove 移除
2.pop 弹出
3.del
python后端常用的内置函数
map 映射
zip 拉链
filter 过滤
reduce 多个进去一个出来
逻辑运算符
python js
and &&
or ||
not !
python后端三元运算符
x = 1
y = 2
res = 10 if x > y else 20
js中三元运算符
x = 1
y = 2
res = x > y ? 10 : 20
var x=a>b ?a:(b=="20")?a:b;
python后端定义函数
def
js前端定义函数
function
箭头函数
var f = v => v;
// 等同于
var f = function(v){
return v;
}
var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2){
return num1 + num2; //这里的return只能返回一个值,如果想返回多个值需要自己手动给他们包一个数组或对象中
}
js对象
在定义对象的时候 关键字 是 (*****)
new
python后端 前端js
json.dumps JSON.stringify
json.loads JSON.parse
Reg正则
Asyn异步
正则
// 定义正则表达式两种方式
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/; 建议使用
今日理解之js的更多相关文章
- 理解Node.js的事件轮询
前言 总括 : 原文地址:理解Node.js的事件轮询 Node小应用:Node-sample 智者阅读群书,亦阅历人生 正文 Node.js的两个基本概念 Node.js的第一个基本概念就是I/O操 ...
- 初步理解require.js模块化编程
初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员R ...
- 方便大家学习的Node.js教程(一):理解Node.js
理解Node.js 为了理解Node.js是如何工作的,首先你需要理解一些使得Javascript适用于服务器端开发的关键特性.Javascript是一门简单而又灵活的语言,这种灵活性让它能够经受住时 ...
- 深入理解Node.js中的垃圾回收和内存泄漏的捕获
深入理解Node.js中的垃圾回收和内存泄漏的捕获 文章来自:http://wwsun.github.io/posts/understanding-nodejs-gc.html Jan 5, 2016 ...
- 深入理解three.js中光源
前言: Three.js 是一个封装了 WebGL 接口的非常好的库,简化了 WebGL 很多细节,降低了学习成本,是当前前端开发者完成3D绘图的得力工具,那么今天我就给大家详细讲解下 Three.j ...
- 深入理解three.js中平面光光源RectAreaLight
前言 之前有深入讲解过Three.js中光源,在那篇文章的最后也说了由于平面光光源的特殊性,所以会单独拿出来讲解,这篇文章会详细的讲解平面光光源的特性和实际应用该如何使用. 首先,平面光光源从一个矩形 ...
- 深入理解Three.js中透视投影照相机PerspectiveCamera
前言 在开始正式讲解透视摄像机前,我们先来理理three.js建模的流程.我们在开始创建一个模型的时候,首先需要创建我们模型需要的物体,这个物体可以是three.js中已经为我们封装好的,比如正方体, ...
- 深入理解Three.js中正交摄像机OrthographicCamera
前言 在深入理解Three.js中透视投影照相机PerspectiveCamera那篇文章中讲解了透视投影摄像机的工作原理以及对应一些参数的解答,那篇文章中也说了会单独讲解Three.js中另一种常用 ...
- 深入理解Three.js中线条Line,LinLoop,LineSegments
前言 在可视化开发中,无论是2d(canvas)开发还是3d开发,线条的绘制应用都是比较普遍的.比如绘制城市之间的迁徙图,运行轨迹图等.本文主要讲解的是Three.js中三种线条Line,LineLo ...
随机推荐
- C学习笔记-多源文件的编译
多源文件的意义 为了精简代码和更好的维护代码,往往需要将一些功能实现的代码与主函数代码分开来 在使用的时候再主函数中调用 多源文件的使用 假设现有my.c和main.c两个源代码文件,现在要再main ...
- 如何写出优雅耐看的JavaScript代码
参考链接:https://segmentfault.com/a/1190000020444918?utm_medium=hao.caibaojian.com&utm_source=hao.ca ...
- Linux文件属性拓展知识
文件删除恢复ext3grep,应该多养成好习惯,先备份在操作:要能快速还原,不容易还原,先通过多套测试环境测试,然后在操作. 企业面试题: 一个100M(100000K)的磁盘分区,分别写入1K的文件 ...
- 【转帖】K8s-yaml的使用及命令
K8s-yaml的使用及命令 https://www.cnblogs.com/fuyuteng/p/9460534.html YAML配置文件管理对象 对象管理: # 创建deployment资源 k ...
- scrapy生成json中文为ASCII码解决
修改pipelines.py 即可 修改内容如下: import json import codecs import os class BaiduNewsPipeline(object): #增加的 ...
- ubuntu 设置静态ip,但显示scope global secondary ens33
设置静态ip 修改 /etc/network/interfaces 文件 # The loopback network interface auto lo iface lo inet loopback ...
- drf-更新四大接口-单改整体-单改局部-群改整体-群改局部-04
目录 复习 基于前一天序列化基础 整体单改 单与整体局部修改 复习 """ 1.ModelSerializer序列化类 models.py class BaseModel ...
- T100——作业单身网格消失,查询时单身无法输入
增加代码:
- 怎样修改输入框 placehoder 提示文本的颜色?
1. 在这个问题上, 不同浏览器的设置方法有所差异, 可以写成下面这种形式. ::-webkit-input-placeholder { /* WebKit browsers */ color: #9 ...
- C#:Guid.NewGuid()和DateTime.Now该选择哪个???
直接上代码: namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine(& ...