JavaScript从入门到精通之入门篇(一)概念与语法

入门篇大纲

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190907175408160.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTMyMDUxNjU=,size_16,color_FFFFFF,t_70

第一部分 概念与语法

1.JavaScript的历史

2.基本概念

3.JavaScript的使用、调试和异常处理

4.基本词法和变量

5.数据类型和类型转换

6.运算符

算数运算符

赋值运算符

一元运算符

使用一元运算符,将会把所有的内容转换为数值运算,不使用字符运算
例子:

var i =10;
i++;  // 与 i += 1 或者 i = i + 1 类似
console.log(i) // 输出: 11

注意: i++ 和 ++i 的区别

  • i++和++i 独立运算时,运算的结果是完全相同的;
  • 但是如果将i++和++i进行赋值、打印、获取时,运算的先后顺序就会影响赋值的先后顺序;
  • 如果是i++,变量在前,先赋值,再运算
  • 如果是++i,变量在后,先运算,再赋值

例子:

var i = '10';
i++;
console.log(i); // 输出: 11
++i;
console.log(i); // 输出: 12var i = '10';
var x = i++;
var y = ++i;
console.log(x); // 输出:10
console.log(y); // 输出:12

位运算符

进制

2进制和16进制的互转技巧: 8421法

二进制数值:        1101   0001   0011   0011   1101
二进制比值:        8421   8421   8421   8421   8421 
16进制下标:         13     1      3       3     13   
16进制结果:         d      1      3       3      d所以:11010001001100111101(二进制) = d133d (16进制) 

位非运算符 ~

位与运算符 &

有一个0为0,没有0为1

  • 1 & 1 = 1, 1 & 0 = 0,0 & 1 = 0,0 & 0 = 0
var a = 20; // 转成二进制:10100
var b = 10; // 转成二进制:01010// 位与运算后:00000 转成10进制 --> 0
console.log(a&b); // 输出:0

位或运算符 |

有一个1为1,没有1为0

  • 1 | 1 = 1, 1 | 0 = 1,0 | 1 = 1,0 | 0 = 0
var a = 20; // 转成二进制:10100
var b = 10; // 转成二进制:01010// 位或运算后:11110  转成10进制 --> 30
console.log(a|b); // 输出:30

位异或运算符^

相同为0,不同为1

  • 1 ^ 1 = 0, 1 ^ 0 = 1,0 ^ 1 = 1,0 ^ 0 = 0
var a = 20; // 转成二进制:10100
var b = 10; // 转成二进制:01010// 异或运算后:11110  转成10进制 --> 30
console.log(a^b); // 输出:30

左移位运算符、右移位运算符

console.log(8<<2); // 10000 --> 32
console.log(8>>2); // 10    --> 2
console.log(1<<n); // 可以求2的n次幂
console.log((0x0000FF<<16).toString(16)); // 颜色值

关系运算符

常见的关系运算符:< >
重点关注 == 和 === 的区别:

  • == 自带隐式转换
    null == undefined
    0 == “” == false
    NaN与任何内容都不同,NAN也不等于NaN,常使用isNaN判断某值是否为数字
console.log(1 == "1");          // true
console.log(null == undefined);  // true
console.log(0 == "");           // true
console.log(0 == false);        // true
console.log(isNaN(parseInt('10a'))); // falseif(!x) { // 满足条件的x值有: ""  0  false undefined null NaN
}
  • === 表示两者之间的类型和值是否都相等

逻辑运算符

常用的逻辑运算符有: ! && ||

7.循环语句

所谓循环,具体有以下几个特点:

  • 必须要有条件初始变量
  • 必须要有进入循环的条件
  • 必须有向条件外发展的表达式

while循环

例子:

<div id="btn0">按钮0</div>
<div id="btn1">按钮1</div>
<div id="btn2">按钮2</div>
<div id="btn3">按钮3</div>
<div id="btn4">按钮4</div>
<div id="btn5">按钮5</div>
<div id="btn6">按钮6</div>
<div id="btn7">按钮7</div>
<script>
var i = 0;
while (i <= 7) {var btn = document.getElementById("btn" + i);btn.onclick = function() {console.log(i);    // 无论点击哪个按钮,始终输出 8console.log(this); // 点击按钮时,会输出你点击的按钮本身}i++;
}
</script>

do while循环

do while循环,先执行do的内容块,然后才去判断条件,如果条件满足时继续循环,如果不满足就不再循环;而while循环是先判断条件才去执行语句块的

for循环

for (表达式1,表达式2, 表达式3)
表达式1: 一共运行了1次,循环之前运行
表达式2:是一个或者多个条件,不满足一个就跳出循环,循环多少次就执行多少次,在运行循环之前先判断条件
表达式3:循环多少次就执行多少次,循环语句块中所有语句完成后再执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【小记】-005--纯CSS实现的小玩意儿

效果图奉上 代码奉上 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible&q…

JavaScript从入门到精通之入门篇(二)函数和数组

入门篇大纲 第二部分 函数与数组 1.函数 函数的定义 普通函数 function 函数名 &#xff08;表达式1…&#xff09; { 代码块 }js是解释性语言&#xff0c;在当前script标签代码执行的开始阶段&#xff0c;就会将普通函数放入堆中&#xff0c;也只是将引用放入堆中&#xf…

leetcode 557. Reverse Words in a String III 、151. Reverse Words in a String

557. Reverse Words in a String III 最简单的把空白之间的词反转 class Solution { public:string reverseWords(string s) {vector<int> blank;for(int i 0;i < s.size();i){if(s[i] )blank.push_back(i);}int start 0;int end;for(int i 0;i < blank.size(…

elementUI vue table status的状态列颜色变化和操作列状态显示(停用, 启用)

<div id"app" style"display: none">...<el-table-column prop"status" label"状态" width"80" align"center"><template scope"scope"><span v-if"scope.row.status0"…

一道Python面试题

无意间&#xff0c;看到这么一道Python面试题&#xff1a;以下代码将输出什么&#xff1f; def testFun(): temp [lambda x : i*x for i in range(4)] return temp for everyLambda in testFun(): print (everyLambda(2))脑中默默一想&#xff0c;这还用说么&#xff0c;肯定是…

Windows下的ssh姐妹花 Xshell 和 Xftp

Windows下的ssh姐妹花 Xshell 和 Xftp 今天是3月8号&#xff0c;中国传统的三八妇女节&#xff0c;是距离中国新兴节日三七女生&#xff08;神&#xff09;节最近的一个全国性节日&#xff0c;今天我也是宅在家&#xff0c;研究了一下近日工作上遇到的一个纯软件技术问题。废话…

关于数字证书理解的简单整理以及12306站点证书简单分析

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/sundacheng1989/article/details/25540601 首先简单理解一下什么是数字证书。这里是一篇英文文档&#xff0c;描写叙述的非常形象。形象的描写叙述了什么是公钥。什么是私钥。…

Luogu3350 ZJOI2016 旅行者 最短路、分治

传送门 题意&#xff1a;给出一个$N \times M$的网格图&#xff0c;边有边权&#xff0c;$Q$组询问&#xff0c;每组询问$(x_1,y_1)$到$(x_2,y_2)$的最短路。$N \times M \leq 2 \times 10^4 , Q \leq 10^5$ BZOJ原题竟然没有数据范围 矩形的多组询问问题考虑分治。考虑计算矩形…

Mac中安装Node和版本控制工具nvm遇到的坑

首先说说常规的安装 1. 下载nvm,使用nvm来管理Node版本 官方文档 windows 版本  https://github.com/coreybutler/nvm-windows mac 版本    https://github.com/creationix/nvm#install-script 命令行 尽量不要用brew&#xff0c;免得掉坑 curl -o- https://raw.githubu…

几道比较有意思的js面试题

1、[] ? !![] : ![];输出结果是什么&#xff1f; 12345let val [] ? !![] : ![];console.log(val); //true&#xff1a;//之前的错误解释&#xff1a;[] 是一个null&#xff0c;做判断则为false&#xff0c;false执行![]语句&#xff0c;结果为非空&#xff0c;即true//更正…

wepy - 与原生有什么不同(x.wpy)使用实例

源码 1 <template>2 <view classmark wx:if"{{showMark}}">3 <view animation"{{animationData}}" class"animCat">4 <image src"http://osk1hpe2y.bkt.clouddn.com/18-5-30/34559443.jpg"></…

vue从入门到精通之高级篇(一)vue-router的高级用法

今天要介绍的是路由元信息&#xff0c;滚动行为以及路由懒加载这几个的使用方法。 1.路由元信息 什么是路由元信息&#xff0c;看看官网的解释&#xff0c;定义路由的时候可以配置 meta 字段可以匹配meta字段&#xff0c;那么我们该如何使用它&#xff0c;一个简单的例子&…

Java 数组实现堆栈操作

class Stack {private int stck[] ; private int tos ; Stack(int size) { // 一个参数的构造参数stck new int[size] ; // 创建数组&#xff08;创建堆栈&#xff09;tos -1 ; // 空堆栈标识 -1}// 堆栈操作的特性&#xff1a;先进后出、后进先出void push(int…

re模块

什么是正则表达式 一组特殊符号组成的表达式&#xff0c;用于描述某种规则。该应用场景生活中随处可见。 例如&#xff1a;让有志青年过上体面的生活&#xff0c;这里面就由规则&#xff0c;即有志青年。 正则表达式的作用&#xff0c;以及使用场景 用于从字符串中匹配满足某种…

CSS实现div梯形分割

原理 使用的border边框属性结合svg 转换 详见代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css实现div边框斜角</title><style type"text/css"> .labels {display: i…

算法学习——决策单调性优化DP

update in 2019.1.21 优化了一下文中年代久远的代码 的格式…… 什么是决策单调性&#xff1f; 在满足决策单调性的情况下&#xff0c;通常决策点会形如1111112222224444445555588888..... 即不可能会出现后面点的决策点小于前面点的决策点这种情况。 那么这个性质应该如何使用…

SVG画一个箭头

参考菜鸟手册&#xff1a; https://www.runoob.com/svg/svg-tutorial.html 打开菜鸟中的在线工具 在可视化截图拖拉元素绘制箭头 点击command U 查看源码 将源码拷入html代码中&#xff0c;查看效果 最后&#xff0c;贴出源码供大家参考 <!DOCTYPE html> <…

HP Instant Information

HP Instant Information before HP-UX 11i v3 《管理系统和工作组&#xff1a;HP-UX系统管理员指南》 After HP-UX 11i v3 《HP-UX系统管理指南》(由多个文档组成的文档集) 《HP-UX系统管理员指南&#xff1a;概述》 《HP-UX系统管理员指南&#xff1a;配置管理》 《HP-UX系统管…

CodeForces 258D Little Elephant and Broken Sorting(期望)

CF258D Little Elephant and Broken Sorting 题意 题意翻译 有一个\(1\sim n\)的排列&#xff0c;会进行\(m\)次操作&#xff0c;操作为交换\(a,b\)。每次操作都有\(50\%\)的概率进行。 求进行\(m\)次操作以后的期望逆序对个数。 \(n,m\le 1000\) 输入输出格式 输入格式&#x…

记一次vue项目yarn打包环境配置失效的解决方案

项目中使用到了yarn打包工程&#xff0c;主要有以下几个命名。 # build for production with minification yarn run build# build for production and view the bundle analyzer report yarn run build --report# 自定义API地址 baseurl"http://127.0.0.1:8080/api/&quo…