JavaScript基础语法及规则(一)

注释

  • 单行注释:// 注释内容
  • 多行注释:/* 注释内容 */

注意:JavaScript没有文档注释

变量

JavaScript中用var关键字(variable的缩写)来声明变量。

  • 格式:var 变量名= 数据值
    变量可以存放不同类型的值,如下在定义变量时赋值为数字数据,还可以将变量的值改为字符串类型的数。
var test = 20; 
test = "张三";

var的作用域:全局变量,且变量可以重复定义。

{ 
	var age = 20;
}
alert(age); // 在代码块中定义的age 变量,在代码块外边还可以使用

{ 
	var age = 20; 
	var age = 30;//JavaScript 会用 30 将之前 age 变量的 20 替换掉
}
alert(age); //打印的结果是 30

针对以上问题,衍生出了let关键字,与var用法类似,但是只能够在let所在的代码块中使用,并且不可重复定义。

js的变量名命名也有如下规则,与Java大致相同:

  • 组成字符可以是任何字母、数字、下划线(_)或者美元符号($)
  • 数字不能开头
  • 建议使用驼峰命名

基本数据类型

  • string:字符、字符串,单双引皆可
var str1="nihao";
var str2='hello';
  • number:数字(整数、小数、NaN(not a number))
var num1=10;
var num2=10.55;
var num3=-12.5;
  • boolean:布尔类型(true、false)
var flag1=true;
var flag2=false;
  • null:空
var obj=null;
  • undefined:未定义类型
var a;
var b=undefined;

使用 typeof 运算符可以获取数据类 alert(typeof age); 以弹框的形式将变量的数据类型输出

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      var str1="nihao";
      alert(typeof(str1));

      str1=10;
      alert(typeof(str1));
      str1=true;
      alert(typeof(str1));
      str1=undefined;
      alert(typeof(str1));
      str1=null;
      alert(typeof(str1));
    </script>
</head>
<body>

</body>
</html>

运算符

JavaScript 提供了如下的运算符。大部分和 Java语言都是一样的,不同的是 JS 关系运算符中的 == 和 = = = ,一会我们只演示这两个的区别,其它运算符将不做演示。

  • 一元运算符:++,–
  • 算术运算符:+,-,*,/,%
  • 赋值运算符:=,+=,-=…
  • 关系运算符:>,<,>=,<=,!=,= =,= = =…
  • 逻辑运算符:&&,||,!
  • 三元运算符:条件表达式 ? true_value : false_value

比较运算符:有= =和 = = =两种比较运算符。

  • ==:
    1.判断类型是否一样,如果不一样,则进行类型转换
    2 . 再去比较其值是否相同,相同则返回true,否则false。
  • = = =:
    1.判断类型是否一样,如果不一样,直接返回false
    2 . 再去比较其值是否相同。相同则返回true,否则false。

代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var x=8;
        alert(x==8);
        alert(x===8);

        alert(x=="8");
        alert(x==="8");
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

正则对象

RegExp对象的创建方式:

  • var reg=new RegExp("表达式“) 开发中基本不用。
  • var reg=/^ 表达式 $/ 直接量(开发中常用)
    直接量存在边界,^表示开始, $表示结束。

test方法

  • var 变量名=正则对象.test(string):用来校验字符串是否匹配正则,全部字符都匹配则返回true,有字符不匹配则返回false

正则对象使用注意事项

  • /^表达式$/: 只要有无法成立正则的字符存在,即为false,全部符合为true。
    (检查严格,眼睛不揉沙子)适用于表单校验
  • /表达式/ :只要有成立正则的字符存在,即为true。全部不符合为false
    (检查不严格,懒人思想)适用于字符串查找、替换

js数组

js数组的创建方式

  • var arr=[1,2,3,“a”,true] :常用的创建方式,长度为5

  • var arr=new Array(): 创建了一个数组,默认长度为0

  • var arr=new Array(“a”,“b”,true):长度为3

  • var arr=new Array(4):开辟了一个长度为4的数组,但是每个元素本质都为undefined

js数组的常用属性/方法

  • length :设置或返回数组中元素数目
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var arr=['hello','你好',1,2];
        
        alert(arr.length);
    </script>
</head>
<body>
</body>
</html>

效果如下:
在这里插入图片描述

  • join():把数组的所有元素放入一个字符串,元素通过指定的分隔符进行分离
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var arr=['a','b','c'];
        var result=arr.join("+");
        alert(result);
       
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

  • pop() :删除并且返回数组的最后一个元素
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //pop()删除并且返回数组的最后一个元素
        var arr=['a','b','c','d'];
        var temp=arr.pop();
        alert(temp);
        alert(arr.length);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述
在这里插入图片描述

  • push():像数组的末尾添加一个元素,并返回新的长度
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
   
        var arr=['a','b','c','d'];
        var len=arr.push('e','w','t');
        alert(len);
        alert(arr);

    </script>
</head>
<body>
</body>
</html>

效果如下:
在这里插入图片描述

在这里插入图片描述

  • reverse() :对元素顺序进行颠倒
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        var arr=['a','b','c'];
        alert(arr.reverse());

        // var arr=['a','b','c'];
        // var result2=arr.reverse();
        // alert(result2);
        // alert(arr);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

eval全局函数

  • eval(): 计算JavaScript字符串,并把它作为脚本代码来执行,用于增强程序的扩展性,只可以传递原始数据类型String,对传递String对象没作用。
    代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      //  var x=10;
      eval("var x=10;");
      //eval(new String("var x=10;"));
        alert(x);
    </script>
</head>
<body>
</body>
</html>

效果如下:
在这里插入图片描述

URL解码和编码

  • encodeURI(String):把字符串编码为URL
  • decodeURI(String):解码某个编码的URL
    代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <script>
      //javascript encodeURI(String)编码
      var msg="http://www.itheima.cn/index.html?username=张三&passsword=123";
      //alert(msg);
      var temp=encodeURI(msg);
      alert(temp);

      //decodeURI
      alert(decodeURI(temp));
  </script>
</head>
<body>

</body>
</html>

效果如下:
编码:
在这里插入图片描述
解码:
在这里插入图片描述

字符串转数字

  • parseInt(string):string按照字面值转换成整数部分,小数点后面不关注
  • parseFloat(string0:string按照字面值转换成一个小数类型

注:
如果字符串的某个字符从字面值上无法转为数字,那么从该字符开始停止转换,仅返回前面正确的转换值。(例如:11.5a55,parselnt结果11,parseFloat结果11.5).
如果字符串的第一个字符就无法从字面值上转为数字,那么停止转换,返回 NaN NaN(NotANumber,一个数字类型的标识,表示不是一个正确的数字。

代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //var str="10.5a5";
        //var str="10.55";
        //var str="1a0.55";
        var str="a10.55";//返回NaN(Not a Number) 不是一个数字
        var num1=parseInt(str);
        alert(typeof(num1)+","+num1);

        var num2=parseFloat(str);
        alert(typeof(num2)+","+num2);

    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

函数

函数格式

function 函数名(参数列表){
函数体
}
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
      /*  public static void getSum(int a,int b){
            return a+b;
        }*/
      function getSum(a,b){
         return a+b;
      }

      var result=getSum(1,2);
      alert(result);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

重名函数

按照最近的一个函数来运算,看代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function getSum(a,b,c){
            alert(a+"-"+b+"-"+c);
        }
      function getSum(a,b){
          alert(a+"-"+b);
      }
     getSum();

    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

函数使用的注意事项:
JavaScript函数调用执行完毕一定有返回值,值及类型根据 return决定,如果未说明return具体值,返回值为undefined;
JavaScript函数若同名,则不存在方法重载,只有方法相互覆盖,最后定义的函数覆盖之前的定义;
因为JavaScript不存在函数重载,所以JavaScript仅根据方法名来调用函数,即使实参与函数的形参不匹配,也不会影响正常调用;
如果形参未赋值,就使用默认值undefined。

自定义对象

function形式创建自定义对象

属性定义方式

方式1. this关键字,在对象声明定义阶段,定义一个属性

  • 格式:this.属性名=”属性值“

方式2. 创建对象后,使用对象.属性方式,动态定义属性

属性赋值

方式1.
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function Person(){
            this.name="校长";
            this.age="18";
        }

        var p=new Person();
        alert(p.name);
        alert(p.age);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述
在这里插入图片描述

方式2:
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function Person(n,a){
            this.name=n;
            this.age=a;
        }

        //创建了一个Person对象,p
        var p=new Person("小王","20");
        p.sex="男";
        alert(p.sex);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述

直接量自定义对象

  • 格式:var 变量名={属性名:“属性值”,属性名:“属性值”,…};
    示例:var person={name:"小李",age:18};

第一种创建方式

在变量名声明定义阶段,定义一个属性

代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //person实例对象 创建完毕
        var person={name:"小李",age:18};
        alert(person.name);
        alert(person.age);
    </script>
</head>
<body>
</body>
</html>

效果如下:
在这里插入图片描述
在这里插入图片描述

第二种创建方式

创建变量后,使用变量名.属性方式,动态定义属性。
代码展示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //person实例对象 创建完毕
        var person={name:"小李",age:18};
        alert(person.name);
        person.name="小王";
        alert(person.name);
    </script>
</head>
<body>

</body>
</html>

效果如下:
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼鬼不同路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值