博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2020-07-22---js基础语法
阅读量:3961 次
发布时间:2019-05-24

本文共 3771 字,大约阅读时间需要 12 分钟。

JavaScript

官方概念:这是一个跨平台脚本语言

平台:就是运行环境,这里一般指操作系统。跨平台就是在各种环境下都可以运行。
脚本语言:特点就是不能独立运行,要依赖于网页。HTML网页的运行离不开浏览器,js程序的运行离不开HTML网页。

JavaScript组成

1.ECMAscript;

2.DOM 文档 HTML文件部分;
3.BOM 浏览器 每打开的一个网页就是一个bom。
【注】所有的js代码在一个script标签中编写。
属性:
(1)type=‘text/JavaScript’ 声明当前标签内写的文本格式,可以省略;
(2)src=‘demo.js’ 引入外部的.js文件。
注意点:
(1)可以有多个script标签,多个script标签的执行顺序是自上而下。
(2)一个script标签只能专心做一件事。就是一个script标签要么用于引入外部的 js文件,要么用于执行HTML页面的js代码,一个引入外部js文件的script标签中坚决不能再去写一行代码。

js中的输出方法

1.alert() 在网页上弹出一个警告框。直接在括号内写上警告框里弹出的内容,注意要用引号引起来。

alert('易烊千玺')

2.document.write() 在当前页面上输出内容。引号里面的内容会直接出现在网页上。

document.write("易烊千玺")

【注】如果内容中含有标签会自动解析

例如输入的文本写在标签内,它在输出的时候不是将标签以文本的形式输出在页面上,而是会直接将标签解析为HTML代码。

document.write("

易烊千玺

"); //以h1标签的样式输出文本

如果要在document.write()里面使用左尖括号和右尖括号(<>),必须使用转义字符,

转义字符:&lt; &gt;

document.write("<h1>易烊千玺</h1>") ; //直接把h1标签作为文本输出来,没有解析。

3.console.log()在控制台输出内容,并且告诉你输出的这行代码是在HTML的第多行编写的。页面上没有任何效果,用户看不见,不影响用户的使用效果,一般用于代码调试。

console.log("易烊千玺");

【注】在编写js代码的时候,要在每一行代码结束的位置加分号(;)。虽然尽管不写分号也不报错,但是那样书写很不规范,而且最后进行压缩的代码的时候很容易出错,所以要记得写分号。

代码压缩:去掉编写代码的时候所有的空格、tab键和换行。这些空格换行等对于我们来讲会很方阅读,但是对于计算机来讲没有任何作用,而且还会占用空间。

注释

1.单行注释 //

Ctrl+/ 快捷键
2.多行注释 / * */
Ctrl+shift+/ 快捷键

js常量和变量

1.常量 值不可以改变的叫做常量

数据类型:

  1. 基本数据类型:
    (1)数字
    类型:number
    例如 100 -52 3.14 等。
    (2)布尔值
    类型:Boolean
    一共就两个值 true false
    (3)字符串
    类型:所有带单引号和双引号的都叫字符串(单双引号没有区别,效果一样,注意单双引号都成对使用就可以)
    例如:“hello ” 、“易烊千玺” 、 ‘world’ 、 “3.2”、‘100’等
  2. 复合/引用数据类型
  3. 特殊数据类型
    null 空
    undefined 代表一种状态
    NaN(not a number) 代表不是一个数字

2.变量 值可以被修改的叫做变量

了解计算机的组成:
磁盘 内存 CPU/GPU(主要用来计算)
程序被CPU执行。我们按Ctrl+S这个保存操作,会直接把内容保存在磁盘,这样当电脑关机下次再次开机的时候上次编辑的内容还在。但是CPU在运行程序的时候是没办法直接磁盘的内容的,只能读取内存中的内容。
所以正常情况下程序执行的过程应该是:程序从磁盘读取到内存中,然后被CPU运行。
内存是有一定的空间的,程序本质是在内存中运行的。我们在编写程序的时候,这个程序在内存中运行,程序在运行的时候必须占用内存空间,而如何合理地利用空间就是编程的意义,所谓的编程就是合理地分配内存。

变量,值可以被修改的叫做变量,变量就像一个容器,它可以存储各种各样的值,你给它什么样的值,这个变量它就存储谁。也就是说这个变量也得占用空间。

  1. 声明变量(变量必须声明后才能使用)
    关键字(系统征用的有特殊功能的单词叫做关键字):var 声明变量;
  2. 初始化:声明变量的时候,直接给这个变量赋值叫做初始化。
  3. 如果我们声明变量的时候,没有值赋给这个变量,系统默认赋值成undefined。
    直接赋值:
var num = 100;		num = 200;		alert(num);

不赋值:系统默认赋值为undefined,在执行第二行代码的是,系统会先删掉之前赋的值undefined,然后再赋值为200.

var num ;		num = 200;		alert(num);

赋值为空:系统只会开辟一段空间,不赋值,其他值来了也不能占有这个空间,当后面要给这个变量赋值的时候直接赋值就可以,相比较上面的不赋值省去了删掉undefined的过程,这种程序的执行效率更高。

3.变量命名

  1. 标识符:所有用户自定义的名字叫做标识符,变量名也是标识符。
    命名规则:
    (1) 只能由数字、字母、下划线和美元符号(¥)组成。
    (2)不能以数字开头。
    (3)不能是保留字和关键字。保留字就是当前JavaScript已经征用了但是还没有想好要用来干嘛,以后可能有用的单词。在写代码的时候,编辑器会把关键字或保留字变色,只要写出来的变量不是正常的颜色就是不能用的。
    (4)大小写敏感。age和Age是两个完全不同的变量。
    (5)变量名见名思意,尽量使用英文全称。
    (6)对于单词个数超过两个字符的要符合下面两个规则之一:
    <1> 驼峰式命名,class_Name
    <2>下划线命名,class_name
  2. 变量是弱引用类型,就是赋值成什么数据类型就是什么数据类型。

例如,刚开始把num赋值为数字类型10,后来又赋值为字符串类型“hello”,这样也不会有任何错误

var num = 200;		alert(num);		num = "hello";		alert(num);

【注】不建议改变变量的数据类型,容易引起歧义。

3. 关键字:typeof
格式:typeof 常量/变量
功能:输出当前常量或者变量的数据类型。

alert(typeof 100); //输出number		alert(typeof "hello");//输出string		alert(typeof true);//输出boolean		alert(typeof undefined);//输出undefined

注意:

如果在typeof前面再写一个typeof的话

alert(typeof typeof 100); //输出string 		alert(typeof typeof"hello");//输出string		alert(typeof typeof true);//输出string		alert(typeof typeof undefined)//输出string

这是因为 实际运行顺序是 先通过第二个typeof去判断后面的内容的数据类型,然后再通过第一个typeof去判断前面判断出来的内容的数据类型。举个例如。例如上面的第一行代码,先通过第二个typeof去判断100的数据类型,判断出来是number,然后再通过第一个typeof去判断number的数据类型是字符串。

进制转换

十进制 二进制 八进制 十六进制

  1. 十进制转二进制 模二取余
    十进制数 52 转二进制是 110100
  2. 二进制转十进制

110100 => 1 * 2 ^ 2 + 1 * 2 ^ 4 + 1 * 2 ^ 5 = 52

  1. 十进制转八进制或十六进制,可以先将十进制转换成二进制,再将二进制转换成对应的八进制或十六进制。
  2. 二进制转八进制:
    规则:从右往左数,每三位一组,不足三位的用0补齐,最后将每一组数单独转换成十进制数。

二进制数110100 ,分组补齐零之后为110 100。

110 100 => 1 * 2 ^ 2 + 1 * 2 ^ 4 = 6 ; 1* 2 ^ 2 = 4

所以二进制的 110 100 转换为八进制为64。

  1. 八进制转十进制

64 => 4 * 8 ^ 0 + 6 * 8 ^ 1 = 4 + 48 = 52

所以八进制的 64 转换成十进制为52。

  1. 二进制转十六进制
    规则:从右往左数,每四位一组,不足四位的用0补齐,最后将每一组数单独转换成十进制数。

二进制数110100 ,分组补齐零之后为0011 0100

0011 0100 => 1 * 2 ^ 0 + 1 * 2 ^ 1 = 3 ; 1 * 2 ^ 2 = 4

所以二进制的 110100 转换成十六进制为34 。

  1. 十六进制转十进制

34 => 4 * 16 ^ 0 + 3 * 16 ^1 = 4 + 48 =52

所以十六进制的34转换为十进制为52.

转载地址:http://kvqzi.baihongyu.com/

你可能感兴趣的文章