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…

一道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;描写叙述的非常形象。形象的描写叙述了什么是公钥。什么是私钥。…

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…

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"></…

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> <…

数字签名与HTTPS详解

因为HTTP协议本身存在着明文传输、不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点&#xff0c;所以才有了HTTPS的缺陷。HTTPS确切的的说不是一种协议&#xff0c;而是HTTP SSL (TSL)的结合体。HTTP报文经过SSL层加密后交付给TCP层进行传输。SSL(安全套…

WPF效果(GIS三维续篇)

去年这个时候简单的摸索了一下三维的GIS相关的东西,也就是仅仅玩耍了一把,这次来点真正用的上的干货效果效果&#xff1a; 1、加载自定义百度样式的瓦片效果 2、加载自定义百度样式的缩放效果 3、快速手动进去咱的大帝都 4、加载海量Mark效果 5、加载海量Mark和简单模型效果 6、…

[19/04/23-星期二] GOF23_创建型模式(工厂模式、抽象工厂模式)

一、工厂模式(分为&#xff1a;简单工厂模式、工厂方法模式、抽象工厂模式) 实现了创建者和调用者的分离 核心本质&#xff1a;1、实例化对象&#xff0c;用工厂方法代替new操作&#xff1b;2、将选择实现类、创建对象统一管理和控制&#xff0c;从而将调用者跟实现类解耦。 简…

Chrome浏览器12px问题-webkit-text-size-adjust: none 已失效的解决方案

对于早期的chrome, 如果要想显示12px以下的字体&#xff0c;一般通用的方案都是在对应的元素中添加 div {-webkit-text-size-adjust: none; }但是我今天遇到的需求&#xff0c;添加了之后没有反应&#xff0c;而且浏览就根本不支持这种写法。 在网上看到了博客《Chrome浏览器…

深入理解vue中的slot与slot-scope

写在前面 vue中关于插槽的文档说明很短&#xff0c;语言又写的很凝练&#xff0c;再加上其和methods&#xff0c;data&#xff0c;computed等常用选项在使用频率、使用先后上的差别&#xff0c;这就有可能造成初次接触插槽的开发者容易产生“算了吧&#xff0c;回头再学&#…

关于Java抽象类,接口与实现接口及派生类继承基类

1. 抽象类 抽象类就是有一个或多个方法只被声明而未被实现。 抽象方法的声明以分号结束&#xff0c;并且用关键字abstract来说明它以标识它为抽象方法。 格式&#xff1a; public abstract class 类名{ 定义变量// 抽象方法// } 2. 接口是抽象类的一种&#xff0c;之包含常量…

Luogu P1471 方差

题目传送门 开了十倍空间才过是什么鬼&#xff1f;该不会我线段树炸了吧……细思极恐 平均数都会求&#xff0c;维护区间和&#xff0c;到时候除一下就好了。 方差的求法如下(用的Luogu的图片) 因为要维护一个平方&#xff0c;我们可以考虑使用van♂完全平方公式将它拆开&#…

Android SDK 2.3/3.0/4.0/4.2 下载与安装教程

Eclipse下搭建Android开发环境教程&#xff1a;http://dev.son1c.com/show/1253.html Google已经发布了Android SDK 4.2版本.下面给朋友们介绍一下安装 Android 模拟器 Emulator模拟器的方法: 1、首先确定安装了Java JDK&#xff0c;如果没有&#xff0c;可以去http://www.ora…

浏览器渲染原理与过程

一、浏览器如何渲染网页 要了解浏览器渲染页面的过程&#xff0c;首先得知道一个名词——关键路径渲染。关键渲染路径&#xff08;Critical Rendering Path&#xff09;是指与当前用户操作有关的内容。例如用户在浏览器中打开一个页面&#xff0c;其中页面所显示的东西就是当前…

深入理解CSS盒模型 - 程序猿的程 - 博客园

深入理解CSS盒模型 本文是学习中传思客在慕课网开的课程《前端跳槽面试必备技巧》的学习笔记。课程地址&#xff1a;https://coding.imooc.com/class/evaluation/129.html#Anchor。 如果你在面试的时候面试官让你谈谈对盒模型的理解&#xff0c;你是不是不知从何谈起。这种看似…