javascript简介及基本语法

2023-05-16

这两天了解到一门新的脚本语言----javascript,貌似能干的事情好多呀哈哈哈哈,言归正传啧。

目录

javascript简介

js的简介

 js的特点

javascript和java的区别

javascript的组成

js与html结合方式

js原始类型和声明变量

原始类型

定义变量

js的语句 

js的运算符

js数组 

js的函数(动态函数和匿名函数) 

js的全局变量和局部变量

js的函数重载


javascript简介

js的简介

javascript是基于对象事件驱动的语言,应用于客户端。基于对象说的是javascript提供好了很多对象,可以直接拿过来使用,而不是我们在java中要得到一个对象得new一个对象;可以实现动态效果,而客户端专门指的是浏览器。(javascript以下统称为js)

 js的特点

1.交互性:可以实现信息的动态交互

2.安全性: js不能访问本地磁盘的文件

3.跨平台性:只要能够支持js的浏览器,都可以运行

javascript和java的区别

首先要明确,毫无关系。主要区别以下几点

1.java是sun公司,现在oracle,js是网景公司
2.js 是基于对象的,java是面向对象
3.java是强类型的语言,js是弱类型的语言
            - 比如java里面 int i = "10"; //报错
            - js:  var i = 10; var m = "10"; //可以操作
4.js只需解析就可以执行,而java需要先编译成字节码文件,再执行。

javascript的组成

1.ECMAScript
            - ECMA : 欧洲计算机协会
            - 由ECMA组织制定的js的语法,语句,也就是基础语法。

2.BOM
            - broswer object model: 浏览器对象模型

3.DOM
            - document object model:文档对象模型

js与html结合方式

1.使用一个标签

	<script type="text/javascript" src="1.js"></script>

直接在script标签里面写js的代码

2. 使用script标签,引入一个外部的js文件 

 	<script type="text/javascript" src="1.js"></script>

 使用第二种方式时候,就不能在script标签里面写js代码了,不会执行。 

那么还存在一个问题,script标签应该放在html标签的哪个位置呢?其实最佳的位置应该是把script标签放到 </body>后面 。因为如果在js里面需要获取到input里面的值,如果把script标签放到head里面会出现问题。html解析是从上到下解析的,script标签放到的是head里面,直接在里面取input里面的值,因为页面还没有解析到input那一行,肯定取不到。

js原始类型和声明变量

原始类型

1. string: 字符串

 var str = "abc";

2. number:数字类型

 var m = 123;

3. boolean:true和false

 var flag = true;

4. null:对象引用为空,只是一个占位符

 var date = new Date();

获取对象的引用,null表示对象引用为空 ,所有对象的引用也是object        

5.undifined: 定义一个变量,没有赋值

 var aa;

定义变量

java的基本数据类型 byte short int long float double char boolean。而js中定义变量都使用关键字 var 

用typeof();来查看当前变量的数据类型

js的语句 

1. if判断语句

if(..) {
  ---;
} else {
  ---;
}

 =:表示赋值; ==:表示判断

2.switch语句

             switch(a) {
                case 5:
                    break;
                case 6:
                    break;
                default:
                ......
             }

参数a支持各种数据类型

3.循环语句 for  while    do-while

 var i = 5;
while(i>1) {
    alert(i);
    i--;
}

4.for循环

for(int i=0;i<=10;i++) {
   alert(i);
}

js的运算符

1.+=  : x+=y;  ===> x=x+y;

注意:js里面不区分整数和小数

        var j = 123;
        alert(j/1000*1000);  
        //  j/1000*1000    在java里面得到结果是 0 
        // 在js里面不区分整数和小数,123/1000=0.123 * 1000 = 123

2. 字符串的相加和相减的操作

 如果相加时候,做是字符串连接; 如果相减,做的是相减的运算

        var str = "456";
        //alert(str+1);   //拼接 4561
        alert(str-1);    //相减时候,执行减法的运算455

 提示NaN:表示不是一个数字

3.boolean类型也可以操作
 如果设置成true,相当于这个值是1
 如果设置成false,相当于这个值是0

4. == 和 === 区别
比较的只是值; === 比较的是值和类型
    

js数组 

 java中的数组是存放相同类型元素的集合。而在js中数组可以存放不同的数据类型的数据。
 定义方式(三种)
        第一种:

 var arr = [1,2,3];   var arr = [1,"4",true];


        第二种:使用内置对象 Array对象

  var arr1 = new Array(5);  //定义一个数组,数组的长度是5
  arr1[0] = "1";

        第三种:使用内置对象 Array对象

  var arr2 = new Array(3,4,5); //定义一个数组,数组里面的元素是3 4 5 

其实第二种和第三种定义方式其实大同小异。如果括号内是一个数字表示数组长度,是多于一个的数字表示数组里面的元素。

数组里面有一个属性  length:获取到数组的长度

js的函数(动态函数和匿名函数) 

定义方法

1. 使用到一个关键字 function

            function 方法名(参数列表) {
                方法体;
                返回值可有可无(根据实际需要);
             }

eg:


            function test() {
                alert("qqqqq");
            }

            //调用方法
            test();
//---------------------------------------------------
            //定义一个有参数的方法  实现两个数的相加
            function add1(a,b) {
                var sum = a+b;
                alert(sum);        
            }

            //add1(2,3);

            //有返回值的效果
            function add2(a,b,c) {
                var sum1 = a+b+c;
                return sum1;
            }
            alert(add2(3,4,5));
        

2. 匿名函数

                var add = function(参数列表) {
                    方法体和返回值;
                }

eg:

		    var add3 = function(m,n) {
				alert(m+n);
			}

			//调用方法
			add3(5,6);
		

3.动态函数:使用到js里面的一个内置对象 Function

            var add = new Function("参数列表","方法体和返回值");

js的全局变量和局部变量

1.全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用,即在方法外部使用,在方法内部使用,在另外一个script标签使用

2.局部变量:在方法内部定义一个变量,只能在方法内部使用    

js的函数重载

java中的重载是方法名相同,参数列表不同,返回值不同的一组函数。但是,在js中,我们要明确一点,js中是不存在重载的!!
如果写了若干“重载的函数”会调用最后一个方法。且把传递的参数保存到 arguments数组里面,因此我们可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)

          function add1() {
            //比如传递的是两个参数
            if(arguments.length == 2) {
                return arguments[0]+arguments[1];

            } else if (arguments.length == 3) {
                return arguments[0]+arguments[1]+arguments[2];

            } else if (arguments.length == 4) {

                return arguments[0]+arguments[1]+arguments[2]+arguments[3];
            } else {
                return 0;
            }
         }

js在基础语法我整理了如上,接下来就会学习js的对象。 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript简介及基本语法 的相关文章

随机推荐

  • 【LeetCode】剑指 Offer 68. 二叉树中两个节点的最低公共祖先 p326 -- Java Version

    1 题目介绍 xff08 68 二叉树中两个节点的最低公共祖先 xff09 面试题68 xff1a 二叉树中两个节点的最低公共祖先 xff0c 一共分为两小题 xff1a 题目一 xff1a 二叉搜索树的最近公共祖先题目二 xff1a 二叉
  • 【华为机考】模拟题:Words、Vowel、计算字符串重新排列数

    前言 刷题之路任重而道远 xff0c 革命尚未成功 xff0c 同志仍需努力 由于刷惯了 LeetCode xff0c 虽然知道华为机考是需要自己输入输出 xff0c 也稍稍练了一下 xff0c 结果真做模拟题的时候 xff0c 一下子忘了
  • 【华为机考】专题突破 第二周:前缀和与差分 1109

    刷题顺序参考于 2023华为机考刷题指南 xff1a 八周机考速通车 前言 前缀和是指某序列的前n项和 xff0c 可以把它理解为数学上的数列的前n项和 xff0c 而差分可以看成前缀和的逆运算 合理的使用前缀和与差分 xff0c 可以将某
  • ROS学习和树莓派小车遇到问题汇总

    垃圾问题汇总记录 这里写目录标题 垃圾问题汇总记录我的小车配置中间遇到的问题汇总问题 xff1a VM虚拟机突然卡死问题 xff1a Error opening serial could not open port dev rikibase
  • ROS官网使用方式以及问题?

    Rviz中官网的使用 这里写目录标题 Rviz中官网的使用前言 xff08 希望瞄到这篇文章的大佬能注意一下 xff09 各种自带变量的官网查询方式一些普通消息类型的查询 xff1a Rviz等工具中的变量查询 xff1a 前言 xff08
  • automake自动编译工具

    automake自动编译生成makefile文件 xff0c 使用automake xff0c 程序开发人员只需要写简单的宏文件 xff0c 生成configure xff0c 再生成Makefile in xff0c 最终生成一个惯例的m
  • ROS中TF广播和监听个人理解及消息查找

    ROS学习古月居TF使用总结 目录 ROS学习古月居TF使用总结大佬链接总代码目录The Code of TFboardcastThe Code of TFlistenerThe Code of launch 广播和监听者的使用总结广播的创
  • Latex自动化学报模板学习和问题解决总结

    根据自动化学报模板的自己摸索 目录 根据自动化学报模板的自己摸索1 前言2 模板内部文件简介3 生成自己的模板4 内部代码理解关于aas cls和aas cfg文件整个模板固定结构 5 编译时有用的模板双栏显示用的小表格插入小图片 6 遇到
  • SLAM算法总结1

    目录 前言旋转矩阵 xff0c 旋转向量 xff0c 四元数李群李代数BCH公式非线性最小二乘一阶和二阶梯度法一阶梯度法二阶梯度法 xff08 牛顿法 xff09 高斯牛顿法代码实现手写 xff08 片段 xff09 用Ceres实现 xf
  • ROS下使用串口发送数据

    ROS下使用串口发送数据 span class token macro property span class token directive keyword include span span class token string lt
  • 新手如何使用postman(新手使用,简单明了)

    如何使用postman 一 了解postman 1 什么是postman xff1f 软件测试用来做接口测试的工具 2 如何下载postman https www getpostman com xff08 官方下载 xff09 链接 xff
  • 字符串的截取、分割,截取指定字符前面(后面)所有字符

    关于字符串截取问题 xff0c 从网上搜到总结一下 xff1a 已知一个字符串 xff0c 截取第一个指定字符后面所有字符 首先得知道indexof 34 34 的用法 xff0c 例如String i 61 abcdefg xff0c 那
  • [资料分享] 好赢60A无刷电调设置说明书【详细】

    完全针对车模而设计的全新程序算法 xff0c 具有优异的启动效果 加速性能 刹车性能及线性度 xff1b 支持所有无感 xff08 即无霍尔传感器 xff09 无刷电机 xff1b 高品质用料 xff0c 具有强大的耐电流能力 xff1b
  • 单片机学习笔记 —— 串口通信原理

    一 串口通信电路 电路图 xff1a 说明 xff1a 当RXD TXD为低电平时 xff0c 对应的led灯会亮起 二 串口通信控制寄存器 下图为80C51串行口的结构 xff1a SCON serial Control Register
  • 四种方法计算字符串的长度

    在这里我提供四种方法计算字符串的长度 1 使用递归函数 2 数数 xff0c 从第一个字符开始数数 xff0c 没遇到一个字符 xff0c 长度加一 xff0c 直到遇到 34 0 34 停止数数 3 使用strlen函数 xff0c 使用
  • 汉诺塔问题—C语言实现

    一 题目描述 相传在古印度圣庙中 xff0c 有一种被称为汉诺塔 Hanoi 的游戏 该游戏是在一块铜板装置上 xff0c 有三根杆 编号A B C xff0c 在A杆自下而上 由大到小按顺序放置64个金盘 如下图 游戏的目标 把A杆上的金
  • linux三大剑客

    awk是一种很棒的语言 xff0c 适合文本处理和报表生成 使用方法 awk pattern 43 action filenames 尽管操作可能会很复杂 xff0c 但是语法总是这样 xff0c 其中pattern表示AWK再数据中查找的
  • 数据结构与算法之栈

    目录 顺序栈 xff1a 链式栈 xff1a 栈的使用 xff1a 首先 xff1a 栈是一个特殊的线性表 xff0c 只允许在一端进行插入 xff08 压栈 xff09 和删除元素 xff08 进栈 xff09 xff0c 这一端称为栈顶
  • 二叉树的典型习题总结

    二叉树的三种遍历方式 xff1a 1 给定一个二叉树 xff0c 返回它的前序遍历 root left right 递归实现 xff1a public List lt Integer gt preorderTraversal TreeNod
  • javascript简介及基本语法

    这两天了解到一门新的脚本语言 javascript xff0c 貌似能干的事情好多呀哈哈哈哈 xff0c 言归正传啧 目录 javascript简介 js的简介 js的特点 javascript和java的区别 javascript的组成