JavaScript知识点(1)

本文介绍了JavaScript的基本特点,如直译式脚本、动态类型系统,以及如何使用alert()和console.log()进行交互和调试。内容涵盖了变量声明、数据类型(包括原始类型和对象)、字符串处理、布尔值、undefined和null的区别,以及数值类型转换和isNaN函数的使用。
摘要由CSDN通过智能技术生成

JavaScript知识点(1)

JavaScript特点

1.直译式脚本语言(代码不用预编译,在程序的运行过程中逐行进行解释)

2.一种动态类型、弱类型、基于原型的语言

3.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,在HTML网页上使用,用来给HTML网页增加动态功能,能在浏览器中实时浏览到交互效果。

4.兼容性问题: IE6、7、8是个怪胎,对JavaScript语法有兼容性问题,所以要写兼容写法。花式写法很多,抽象:从简单入手,细细品味代码

弹窗alert()

1.alert 就是英语中“警报”的意思,能够让页面弹出警告框。让浏览器弹出一个窗口,窗口里的内容就是alert()中的内容

js程序是顺序执行的

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>hello</title>
</head>
<body>
  <!-- type可以不写,写了一定要写对 -->
  <script>
    // 弹窗
    alert("hello word!");
  </script>
</body>
</html>

控制台console.log()

控制台是 浏览器“检查”或者“检查元素”里面的功能,快捷键是 F12。英文叫做 console。程序运行后所产生的错误,都会在控制台中输出,控制台是调试程序的一个利器。

console就是控制台 log就是日志的意思 这里是动词 表示打印

console.log(“你好”)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>hello</title>
</head>
<body>
  <!-- type可以不写,写了一定要写对 -->
  <script>
    // 控制台,打印
    console.log("hello,word!");
  </script>
</body>
</html>

注释

单行注释://注释内容 不可换行

块级/多行注释:/*注释内容 可以换行 */

注释用于提高代码的可读性编辑器里注释的快捷键一般是: ctrl+/注意:注释的符号,不能嵌套

js语句

alert(“你好啊!”); 这是一条语句JS中的每条语句以分号 ; 结尾。如果语句是一行一行写的,没有分号结尾也是有效语句。但项目做好后,通常都会进行压缩,用软件把所有的空格、换行都去掉。此时,语句末尾的分号显得非常重要,如果去掉分号,将不能执行。注意:所有的符号都是英文的符号,不要用中文

错 对

书写方式

内部书写

在HTML文件中直接进行代码的书写,JS 写在

<script>
    // 1.使用script标签引入js,script标签可以放在让任何位置
    console.log("内部")
  </script>
  <!-- 在标签内使用。不建议使用 -->
  <button onclick="alert('nihao')">点一下</button>

外部引入

<!-- 使用外部js,类是于css方式 
  可以在任何地方放-->
  <script src="js/a.js"></script>

直接写在HTML内部(不建议使用)

标识符

1.就是一个名字,用来对变量、函数、属性等进行命名

2.标识符命名规范:

a:第一个字符必须是字母,下划线(_),或者美元符号$ ,其他字符可以是字母,下划线,美元字符或者数字,不能含有空格

b:不能以关键字或者保留字命名

关键字:

关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。Javascript 中的很多内置功能用关键字标注起来,便于程序员调用。按照规则,关键字也是语言保留的,不能用作标识符。

break do instanceof typeofcase else new varcatch finally return voidcontinue for switch whilefunction this with defaultif throw delete intry

保留字:

保留字有可能在将来被用作关键字来使用,不能用作标识符

abstract int short booleanexport interface static byteextends long super charfinal native class floatthrows const goto privatedouble import public

变量

变量是存储信息的容器。

JavaScript的变量为弱变量,可以用来保存任何类型的数据。

在JS中,只有var这一种声明变量的类型,它可以声明各种类型的数据

var a; 定义一个变量a,电脑内存中,就会开辟一个空间,来存储这个变量 a。可以给这个变量赋值,JS 中给变量赋值用等号,等号右边的值赋给左边

可以通过var声明多个变量,变量与变量之间以,逗号隔开var a=20,b=100;console.log(a,b);

变量的命名规范

a:第一个字符必须是字母,下划线(_),或者美元符号$ ,其他字符可以是字母,下划线,美元字符或者数字,不能含有空格

b:不能以关键字或者保留字命名

变量须先声明

使用一个变量,必须先进行一个 var,才能使用。 var 这个过程可以叫做声明 declaration,也可以叫做定义 definition。直接运行语句

变量的赋值

变量的赋值用等号,等号就是赋值

var a; // 定义

a = 100; // 赋初值

console.log(a); // 输出:100

var a = 100; // 定义和赋初值一起写

console.log(a); // 输出:100

var a = 100;

var b = 200;

// 改变 a 变量的值,a 的值变为 200。b 的值不变。a = b;

console.log(a); // 输出:200

console.log(b); // 输出:200

当声明了一个变量,想改变该变量值时,不需要 var重新声明

var a = 100;a = 50;console.log(a); // 输出:50

一个变量,通过var声明但未被赋初值时,变量的值为 undefined;

已经通过var定义了这个 a,但浏览器是这样解析:如果这个变量没有被赋初值,那么这个变量就视为没有“定义完成”。值就是 undefined。

JavaScript数据类型及类型转换运算符

数据类型

可分为原始类型和对象类型,也可以分为可变类型和不可变类型。

可变类型的值是可修改的。对象和数组属于可变类型;数字、布尔值、NULL和undefined属于不可变类型。字符串可以看成由字符组成的数组,但是是不可变的

五种原始数据类型

Number 值是数据

String 值是字符串

boolean 值是布尔值 只有true或者false真或假

Undefined 值未定义

Null 值为空(空对象)

一种复合数据类型Object

对象object、数组Array、函数Function等都属于object类型

数据类型检验

数据类型检测:typeof(x) 或 typeof x

var a = 100;

var b =“小明”;

console.log(typeof a); // 输出numberconsole.log(typeof b); // 输出string

String类型

字符串是存储字符的变量。

字符串的字面量,必须用双引号、单引号包裹起来。字符串被限定在同种引号之间,即必须是成对单引号或成对双引号。

var str1=“今天天气很好”;

必须是同种引号,下面的写法是错误的:

var str2=‘哈哈”;

一个数字用引号包裹起来,就是字符串类型:var str3=“3”;

正常情况下,双引号里面只能用单引号或者单引号里只能用双引号:

var str4=“老师说你像’考拉’一样漂亮”;

var str5=‘老师说你像"考拉"一样漂亮’;

双引号内部如果要使用相同的引号,可以使用 \ 反斜杠进行转义:

var str6=“老师说你像"考拉"一样漂亮";

反斜杠自己也用反斜杠来转义:var str7=“c:\a\b.jpg”);

常用的转义字符:

\n 回车换行

var str8=“你好\n啊\n我是谁\n啊”;

Boolean类型

布尔(逻辑)只能有两个值:true 或 false。布尔值常用在条件测试中

var a=true;

var b=false;

Boolean类型中,字符串、非 0 数字、对象,将返回true ;空字符串、数字0、undefined、 null、NaN,将返回 false。

Undefined类型

使用var声明变量但未对其赋值,这个变量就是undefined

var a;

console.log(a); //undefined

声明变量以后输出和未声明变量输出区别:

var a;

console.log(a); //undefined console.log(b); //没有声明b,报错

Null类型

从逻辑角度看,null值表示一个空对象指针,所以typeof操作符检测null时会返回“object”。

var a = null;

console.log(typeof a); //object

Undefined值派生自null,所以ECMA-262规定对它们的相等性测试要返回true。

console.log(null == undefined); //true console.log(null === undefined); //false

Number类型

avaScript 唯一的数字类型,不再细分为整型int、浮点型float等

数字字面量:十进制、八进制和十六进制

十进制

var a=34;

var b=100;

八进制

八进制字面值第一位必须是零,后面的数字必须是0~7之间的数,超出范围 ,前面的零被忽略,数值当作十进制解析。

var num1=070; //八进制的56

var num2=079; //无效的八进制,解析为79 var 、num3=08; //无效的八进制,解析为8

十六进制

十六进制字面值前两位必须是0x,后跟任何十六进制数字(09和AF)。A~F不区分大小写。

var num1=0xA; //十六进制的10

提示:尽管所有整数都可以表示为八进制或十六进制的字面量,但所有数学运算返回的都是十进制结果。

Number类型转换
  • Number () 属于强制类型转换方法把变量的值转换为数字,转换的是整个值,而不是部分值。如果变量的值无法转换为数字,那么 Number() 函数返回 NaN。

    // number()把变量强制转换为数字
        // NaN 非数字
        var str1="123";
        var str2="0o1234";
        var str3= "0xD1234";
        var str4="aa";
        var str5="q";
        console.log(Number(str1));
        console.log(Number(str2));
        console.log(Number(str3));
        console.log(Number(str4));
        console.log(Number(str5));
        console.log("------------------------------------");
    
  • parseInt (string,radix) 可解析一个字符串,并返回一个整数。string 必填项,表示要解析的字符串;radix 可选项,表示要解析的数字的基数(进制数)。介于2-36之间,如果该参数小于2或者大于36,则parseInt()将返回NaN。

    // 转换为整数
        console.log(parseInt("123.8"));
        console.log(parseInt("123a"));
        console.log(parseInt("q123"));
        console.log(parseInt("1.2.3"));
        console.log(parseInt(null));
        console.log(parseInt(false));
    

注意:只有字符串中的第一个数字会被返回。开头和结尾的空格是允许的。如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN

  • parseFloat (string) 可解析一个字符串,并返回一个浮点数

    注意: 开头和结尾的空格是允许的。 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。 如果只想解析数字的整数部分,请使用 parseInt() 方法。

    // 转换为浮点数(小数)
        console.log(parseFloat("123"))
        console.log(parseFloat("123.33"))
        console.log(parseFloat("123.2.2"))
        console.log(parseFloat(" 123.2 "))
    
  • isNaN() 用于检查变量是否是非数字值。

    如果把NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。

// isNaN()检查是不是非数字    false------数字     true--------非数字
    console.log("----------")
    console.log(isNaN(123))
    console.log(isNaN("123"))
    console.log(isNaN("a"))
    // console.log(isNaN(b)) 错的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值