百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Javascript简介和基础数据类型(列举javascript的数据类型)

yuyutoo 2025-05-02 14:25 2 浏览 0 评论

什么是JavaScript?

  • JavaScript 是世界上最流行的语言之一,是一种运行在客户端的脚本语言 (Script 是脚本的意思)。
  • 脚本语言:不需要编译,运行过程中由 js 解释器( js 引擎)逐行来进行解释并执行。
  • 现在也可以基于 Node.js 技术进行服务器端编程。

JS 组成

ECMAScript

ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。

ECMAScript:规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。

DOM:文档对象模型

文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)

BOM:浏览器对象模型

浏览器对象模型(Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

定义常量和变量

  • const用来定义常量。
  • letvar用来定义变量,推荐使用let,作用域更加严格。
<!-- 行内引入 -->
    <!-- <button onclick="alert('xxx')">点击我</button> -->
    <!-- 内部引入 -->
    <script>
        var b;
        b = 3;
        var b = 4;
        console.log(b);
        var a = 1;
        console.log(a);
        console.log('hello world.');
        // console.log('hello world.');
    </script>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // let a = 'cat';
        // console.log(a);
    </script>
</head>

<body>
    <script>
        let a;
        a = 1;
        // let a = 2;
        console.log(a);

        const PI = 3.1415926;
        // PI = 3.15;
        console.log(PI, typeof PI);
    </script>

    <!-- 外部引入 -->
    <script type="text/javascript" src="./static/js/test01.js">
        // console.log('xxx');
    </script>

    <!-- 模块引入 -->
    <script type="module">
        import { info, add } from "./static/js/test02.js";
        console.log(info['name']);
        console.log(add(1, 2));
    </script>
</body>

</html>

数据类型

JS 把数据类型分为两类:

  • 简单数据类型 (Number,String,Boolean,Undefined,Null)
  • 复杂数据类型 (object)
  • typeof 查看数据类型
<script>
        // let name = prompt('请输入你的名字');
        // console.log(name, typeof name);
        console.log(Number.MAX_VALUE);
        console.log(Number.MIN_VALUE);

        console.log(Infinity);
        console.log(-Infinity);

        console.log(NaN);

        console.log(isNaN(123));
        console.log(isNaN('hello'));

        console.log('10' == 10);
        console.log('10' === 10);
    </script>

输入输出

方法

说明

归属

alert(msg)

浏览器弹出警示框

浏览器

console.log(msg)

浏览器控制台打印输出信息

浏览器

prompt(info)

浏览器弹出输入框,用户可以输入

浏览器

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let n = -1, buf = '';

rl.on('line', line => {
    if (n < 0) n = parseInt(line.trim());
    else {
        buf = line.split(' ').map(x => {
            return parseInt(x);
        });
        rl.close();
    }
});

rl.on('close', () => {
    let s = '';
    buf.sort();

    for (let i = 0; i < n; i++) s += buf[i].toString() + ' ';

    console.log(s);

    process.exit(0);
});

转义字符

转义符

解释说明

\n

换行符,n 是 newline 的意思

\ \

斜杠 \

\t

tab 缩进

\b

空格 ,b 是 blank 的意思

let name = 'cat', age = 28;
let info = `My name is ${name}, I\'m ${age} years old.`;

console.log(info);
console.log(`My name is ${name}, I\'m ${age} years old.`);

比较运算符

选择结构和循环结构

<script>
        let a = 2;
        if(a > 1) {
            console.log("yes");
            console.log("yes");
        }
        else console.log("no");

        for(let i = 1;  i <= 10; i++)
            console.log(i);

        let i = 20;
        while(i <= 30){
            console.log(i);
            i += 2;
        }
</script>

相关推荐

相关推荐

对volatile,synchronized,AQS的加锁解锁原理的一些理解

一、为什么要加锁,要实现同步多线程编程中,有可能会出现多个线程同时访问同一个共享、可变资源的情况,这个资源我们称之其为临界资源;这种资源可能是:对象、变量、文件等。...

注意,不能错过的CAS+volatile实现同步代码块

前言:最近看到有人说可以使用CAS+volatile实现同步代码块。心想,确实是可以实现的呀!因为AbstractQueuedSynchronizer(简称AQS)内部就是通过CAS+...

面试并发volatile关键字时,我们应该具备哪些谈资?

提前发现更多精彩内容,请访问https://dayarch.top/提前发现更多精彩内容,请访问https://dayarch.top/提前发现更多精彩内容,请访问https://dayarch...

无锁同步-JAVA之Volatile、Atomic和CAS

1、概要本文是无锁同步系列文章的第二篇,主要探讨JAVA中的原子操作,以及如何进行无锁同步。关于JAVA中的原子操作,我们很容易想到的是Volatile变量、java.util.concurrent....

C/C++面试题(二):std::atomic与volatile

volatile是C/C++中的一个关键字,用于告知编译器某个变量的值可能会在程序的控制之外被意外修改(例如被硬件、中断服务程序、多线程环境或其他外部代理)。为了防止编译器对代码进行某些可能破坏...

VOCs(Volatile Organic Compounds)挥发性有机化合物及测试方法

经常看到一些三防漆、涂料、油漆类产品的介绍中提到VOC、VOCs等概念,那么什么是VOC、VOCs和TVOC,VOCs主要包括哪些物质?VOCs的来源有哪些?VOCs的危害及国家标准是什么?一、V...

对volatile 及happen—before的理解

happen—before规则介绍Java...

这一篇我们来了解Synchronized、Volatile、Final关键字

题外话:蓝银王觉醒了!!--来自于一个斗罗大陆动漫爱好者(鹅,打钱!)湿兄这两天回家了,办了点大事,回来的时候我弟弟还舍不得我,哭着不愿意让我回京(我弟还是小学),我也心里很不舍,但是还是要回京奋斗...

关于 Java 关键字 volatile 的总结

1什么是volatilevolatile是Java的一个关键字,它提供了一种轻量级的同步机制。相比于重量级锁synchronized,volatile更为轻量级,因为它不会引起线程上下文...

大白话聊聊Java并发面试问题之volatile到底是什么?

用最简单的大白话,加上多张图给大家说一下,volatile到底是什么?...

为什么要有volatile关键字(volatile 关键字为什么不能保证原子性)

在嵌入式编程和多线程编程中,我们常会见到volatile关键字声明的变量。下面说一下volatile关键字的作用:1.保持变量内存可见简而言之就是用volatile声明的变量会告诉编译器和处理器,这个...

Java的volatile到底怎么理解?(java volatitle)

我们都知道,在Java中有很多的关键字,比如synchronize比如volatile,这些都是一些比较关键的,还有final,今天我们就来聊一下这个volatile因为这个vo...

Java多线程编程中的volatile关键字:解密神秘的共享内存

Java多线程编程中的volatile关键字:解密神秘的共享内存在Java多线程编程的世界里,volatile关键字就像一位低调却至关重要的守护者。它默默无闻地站岗放哨,确保多个线程之间能够正确地共享...

你了解volatile关键字的作用吗?(关键字volatile有什么含意?并举出三个不同的例子?)

【死记硬背】volatile关键字主要用于保持内存的变量可见性和禁止重排序。变量可见性:当一个线程改变了变量的值,那么新的值对于其他线程也是可以立即获取到的。禁止重排序:...

谈谈你对volatile 关键字作用和原理的理解

一位6年工作经验的小伙伴,在某里二面的时候被问到“volatile”关键字。然后,就没有然后了…同样,还有一位4年的小伙伴,去某团面试也被问到“volatile关键字“。然后,也没有然后了…...

取消回复欢迎 发表评论: