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

Javascript简介和基础数据类型

zhezhongyun 2024-12-01 19:22 33 浏览

什么是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>

相关推荐

相关推荐

JPA实体类注解,看这篇就全会了

基本注解@Entity标注于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表。name(可选):实体名称。缺省为实体类的非限定名称。该名称用于引用查询中的实体。不与@Tab...

Dify教程02 - Dify+Deepseek零代码赋能,普通人也能开发AI应用

开始今天的教程之前,先解决昨天遇到的一个问题,docker安装Dify的时候有个报错,进入Dify面板的时候会出现“InternalServerError”的提示,log日志报错:S3_USE_A...

用离散标记重塑人体姿态:VQ-VAE实现关键点组合关系编码

在人体姿态估计领域,传统方法通常将关键点作为基本处理单元,这些关键点在人体骨架结构上代表关节位置(如肘部、膝盖和头部)的空间坐标。现有模型对这些关键点的预测主要采用两种范式:直接通过坐标回归或间接通过...

B 客户端流RPC (clientstream Client Stream)

客户端编写一系列消息并将其发送到服务器,同样使用提供的流。一旦客户端写完消息,它就等待服务器读取消息并返回响应gRPC再次保证了单个RPC调用中的消息排序在客户端流RPC模式中,客户端会发送多个请...

我的模型我做主02——训练自己的大模型:简易入门指南

模型训练往往需要较高的配置,为了满足友友们的好奇心,这里我们不要内存,不要gpu,用最简单的方式,让大家感受一下什么是模型训练。基于你的硬件配置,我们可以设计一个完全在CPU上运行的简易模型训练方案。...

开源项目MessageNest打造个性化消息推送平台多种通知方式

今天介绍一个开源项目,MessageNest-可以打造个性化消息推送平台,整合邮件、钉钉、企业微信等多种通知方式。定制你的消息,让通知方式更灵活多样。开源地址:https://github.c...

使用投机规则API加快页面加载速度

当今的网络用户要求快速导航,从一个页面移动到另一个页面时应尽量减少延迟。投机规则应用程序接口(SpeculationRulesAPI)的出现改变了网络应用程序接口(WebAPI)领域的游戏规则。...

JSONP安全攻防技术

关于JSONPJSONP全称是JSONwithPadding,是基于JSON格式的为解决跨域请求资源而产生的解决方案。它的基本原理是利用HTML的元素标签,远程调用JSON文件来实现数据传递。如果...

大数据Doris(六):编译 Doris遇到的问题

编译Doris遇到的问题一、js_generator.cc:(.text+0xfc3c):undefinedreferenceto`well_known_types_js’查找Doris...

网页内嵌PDF获取的办法

最近女王大人为了通过某认证考试,交了2000RMB,官方居然没有给线下教材资料,直接给的是在线教材,教材是PDF的但是是内嵌在网页内,可惜却没有给具体的PDF地址,无法下载,看到女王大人一点点的截图保...

印度女孩被邻居家客人性骚扰,父亲上门警告,反被围殴致死

微信的规则进行了调整希望大家看完故事多点“在看”,喜欢的话也点个分享和赞这样事儿君的推送才能继续出现在你的订阅列表里才能继续跟大家分享每个开怀大笑或拍案惊奇的好故事啦~话说只要稍微关注新闻的人,应该...

下周重要财经数据日程一览 (1229-0103)

下周焦点全球制造业PMI美国消费者信心指数美国首申失业救济人数值得注意的是,下周一希腊还将举行第三轮总统选举需要谷歌日历同步及部分智能手机(安卓,iPhone)同步日历功能的朋友请点击此链接,数据公布...

PyTorch 深度学习实战(38):注意力机制全面解析

在上一篇文章中,我们探讨了分布式训练实战。本文将深入解析注意力机制的完整发展历程,从最初的Seq2Seq模型到革命性的Transformer架构。我们将使用PyTorch实现2个关键阶段的注意力机制变...

聊聊Spring AI的EmbeddingModel

序本文主要研究一下SpringAI的EmbeddingModelEmbeddingModelspring-ai-core/src/main/java/org/springframework/ai/e...

前端分享-少年了解过iframe么

iframe就像是HTML的「内嵌画布」,允许在页面中加载独立网页,如同在画布上叠加另一幅动态画卷。核心特性包括:独立上下文:每个iframe都拥有独立的DOM/CSS/JS环境(类似浏...