运算符

基本运算符
加 +
减 -
乘 *
除 /
取余 %
自增 ++ eg: 1++ 或 ++1
自减 -- eg: 1-- 或 --1
注:++或--写在前面表示优先级最高,先进行自增或者自减
写在后面表示优先级最低,比赋值还低,先干完别的再赋值
逻辑运算符
与 &&
或 ||
非 !
三元运算符
res = 条件 ? 结果1 : 结果2
条件成立取结果1,失败取结果2
eg:res = 1 < 2 ? "小于" : "大于";
console.log(res); ==> 小于

数据类型

//数字类型   加减乘除
console.log(parseFloat("8/5asdsadqw"),typeof(parseFloat("8/5asdsadqw")));
// 字符串类型
let str = "123abc呵12呵";
// 索引取值
console.log(str[1]);
// 索引取值只能正着取才能取到 负着取和超出索引取不会报错,会给你undefined
// 切片slice
console.log(str.slice(1,3));
// 拆分split
console.log(str.split(''));
// 拼接 字符串拼接不可以乘法数字字符串乘法直接转换成数字类型相乘
// 迭代取值
for (k in str){ //迭代的是索引
console.log(k)
};
for (k of str){ //迭代的是值
console.log(k)
};
//替换replace
console.log(str.replace('12','qw'));
//替换只能替换第一次出现的 //数组
let ls = [5,3,7,2,0];
console.log(ls);
//重组join
console.log(ls.join()); //默认以空格拼接起来
console.log(ls.join(''));
// 排序
ls.sort(); //正序
ls.reverse(); //反序
console.log(ls);
//增删改查
ls.splice(0,1,'xx',2);
console.log(ls);
//splice( 开始的索引 , 你要操作的长度 , 操作后的结果)
// 如果你操作长度为0 操作后的结果有值那就是增加
// 如果你操作长度有值,操作后的结果没有值那就是删除
// 如果都有值那就是修改
//查找
console.log(ls[1]) ;//可以根据索引取值 // 对象(字典) let dic = {};
//增
dic.name = 'hesujian';
// 删
delete dic.name;
//改
dic.name = 'owen';
dic.name = 'hesujian';
//查
console.log(dic['name']);
console.log(dic.name);
console.log(dic);
//对象和数组的迭代
console.log(ls);
for (k in ls){
console.log(ls[k])
};
dic = {'name':'owen','age':28,'gender':'male','k':123};
for (k in dic){
console.log(k);
console.log(dic[k]); //这里遍历出来的key只能通过这种方式进行查值
console.log(dic.k); //这种会把k当成dic的属性取查找,而不会替换成遍历出的值(一直去找dic有没有k属性对应的值)
};

数据类型

函数

`
函数的定义
function 函数名(参数列表) {
函数体
return 返回值
}
function: 定义函数的关键字
函数名: 使用函数的依据,加括号可以调用,就是一个变量
参数列表: 都是按位置传,没有关键字形参,形参与实参个数不必统一,但一定是按位置传值(你传你的,我传我的)
函数体: 完成主体功能的代码块
return: 返回值,只能返回一个值,不能解压赋值(所以要返回多个需要用数组或对象装起来)
`;
function fn(a,b) {
console.log(a,b);
};
fn(); //不传里面的a,b就是未定义undefined
fn(1); // a就是1 b就是undefined
fn(1,2,3); // a是1 b是2
`
匿名函数
function () {
};
函数没有名字就是匿名函数
`;
//匿名函数的作用
//1.当一个函数的参数需要一个函数地址,就可以把匿名函数直接传进去
function f(ff) {
ff();
};
f(function () {});
//2.用变量接收匿名函数 , 这也是函数的第二种声明方式
let a = function () {};
a();
//3.为事件提供方法体
div.onclick = function () {
};
//4.匿名函数的自调用,一次性使用
(function () {})()

函数

流程控制

  有顺序  分支  循环  (默认是顺序)

随机数

//随机数 Math.random()   [0,1)
//[0,1) ==> [m,n]
//[0,1) * n-m+1 ==> [0,n-m+1)
//[0,n-m+1) parseInt() ==> [0,n-m]
//[0,n-m] + m ==> [m,n]
//公式:parseInt(Math.random * (n-m+1)) + m ==> [m,n]

if条件判断

`
if (条件) { } else if (条件) { } else { }
`;

while循环

`
while循环
while (条件) {
代码块
};
`

for循环

`
for 循环
for (赋初值①; 条件②; 自增③) {
代码块④
};
与python不同的就是for括号里面有三个值,执行过程是①②④③ ②④③ ... ②
`

do while 循环

`
do while 循环
do{
}while();
与for循环类似,唯一不同点是,do while先执行后判断 for是先判断后执行
`;

四种声明方式

`
let a = 1;
变量,有块级作用域,定义在块级作用域内,外面看不到,不允许重复定义
const b = 2;
常量,有块级作用域,定义在块级作用域内,外面看不到,不允许重复定义
var c = 3;
变量,有局部作用域,定义在局部作用域内,外面看不到,定义在块级作用域时,外面可以看到,允许重复定义
d = 4;
变量,相当于全局定义,在哪都能看到,可以重复定义。
`;
`
块级作用域与局部作用域
块级作用域: {} 就是块级作用域
局部作用域:函数的{}里是局部作用域
`;

js的数据类型、函数、流程控制及变量的四种声明方式的更多相关文章

  1. Go语言 数据类型,流程控制

    Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...

  2. JavaScript 函数的两种声明方式

    1.函数声明的方式 JavaScript声明函数有两种选择:函数声明法,表达式定义法. 函数声明法 function sum (num1 ,num2){ return num1+num2 } 表达式定 ...

  3. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

  4. js介绍,js三种引入方式,js选择器,js四种调试方式,js操作页面文档DOM(修改文本,修改css样式,修改属性)

    js介绍 js运行编写在浏览器上的脚本语言(外挂,具有逻辑性) 脚本语言:运行在浏览器上的独立的代码块(具有逻辑性) 操作BOM 浏览器对象盒子 操作DOM 文本对象 js三种引入方式 (1)行间式: ...

  5. 【温故知新】——原生js中常用的四种循环方式

    一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0   网页输出“欢迎下次光临” 在网页中弹出框输入1   网页输出“查询中……” 在 ...

  6. js中Json字符串如何转成Json对象(4种转换方式)

    js中Json字符串如何转成Json对象(4种转换方式) 一.总结 一句话总结:原生方法(就是浏览器默认支持的方法) 浏览器支持的转换方式(Firefox,chrome,opera,safari,ie ...

  7. Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数

    Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...

  8. 《js高程》笔记总结一:基本概念(语法,数据类型,流程控制,函数)

    1.ECMA 欧洲计算机制造商协会 2.";"的作用 代码后的:当压缩代码时可以用于压缩代码,有效的间隔开代码. 3.数据类型有 undefined,null,boolean,st ...

  9. 1 —— js 语法回顾 —— 数据类型。流程控制。数组

    一,数据类型 字符串 . 数值 .布尔. null . undefined . 对象  ( 数组 . 函数 function(){} . object) undefined 出现的情景 :  (1)变 ...

随机推荐

  1. MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16

    1.问题描述做开源项目时,碰到VS2010报错如下:MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___ ...

  2. osg osgUtil::LineSegmentIntersector

    #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include <osgViewer/Viewer> #include ...

  3. VCTravel

    #pragma once #include <osgViewer/Viewer> #include <osgViewer/ViewerEventHandlers> #inclu ...

  4. java从包package中获取所有的Class

      1.从包package中获取所有的Class方法: /** * 从包package中获取所有的Class * @param pack * @return */ public static List ...

  5. Linux 系统中部署 LNMP 高可用负载均衡架构集群实现动态博客

    (一)设计思路 高可用:keepalived 解决方案 负载均衡:(lvs)DR做轮询,需要一个调度器,后端节点两个(部署nginx动态博客),通过一个vip去访问动态博客 后端节点需要部署动态博客作 ...

  6. 【leetcode_easy】581. Shortest Unsorted Continuous Subarray

    problem 581. Shortest Unsorted Continuous Subarray 题意:感觉题意理解的不是非常明白. solution1: 使用一个辅助数组,新建一个跟原数组一模一 ...

  7. 【Kail 学习笔记】Dmitry信息收集工具

    DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具.它可以用来收集以下信息: 根据IP(或域名)来查询目标主机的Whois信息 在Net ...

  8. 锚点/JQ:点击导航跳到网页中的指定位置

    今天做了一个简单的功能,页面往下滚动到一定位置,顶部出现一个浮动的导航栏,点击导航栏标签,下面页面跳转到相应的区域.回到顶部,导航栏隐藏. 因为顶部有一个浮动的导航栏,所以跳转到下面页面的时候,总是盖 ...

  9. C语言获取文件大小相关操作

    C语言获取文件大小相关操作 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明 通常在希望从文件中把数据全都出来赋值给一个数组或者某一个指针,然后再进行相关 ...

  10. C#使用KingAOP实现AOP面向切面编程二

    本文继续上篇讲述一下比较复杂点的AOP例子,先新建一个控制台项目,然后同样先在Nuget中搜索安装KingAop到项目中 1.项目结构 2 .定义一个登录实体类User和LoggingAspect切面 ...