JavaScript 基础(一)

 

JavaScript的引入方式

直接编写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- ------------页面内容--------------- --!>

<script>
    alert('hello world')
</script>
</body>
</html>

导入文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!-- ------------页面内容--------------- --!>

<script src="hello.js"></script>
</body>
</html>

注意:建议 js 内容放在 body 的最后

JavaScript 变量命名规则

1 声明变量时不用声明变量类型. 全都使用var关键字;
2 一行可以声明多个变量.并且可以是不同类型;
3 声明变量时 可以不用var. 如果不用var 那么它是全局变量;
4 变量命名,首字符只能是字母,下划线,$美元符 三选一,且区分大小写,x与X是两个变量
5 建议遵循下面的命名规则: 匈牙利类型标记法

在变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数,s 表示字符串,如下所示
var iMyTestValue = 0, sMySecondValue = "hi";

打印变量的三种方式

    var a=1, b=3, c=4;
    console.log(a);
    document.write(b);
    alert(c);

JS 的五种基本数据类型

数字类型(Number)

整数:精确表达的范围是
-9007199254740992 (-253) 到 9007199254740992 (253) 超出范围的整数,精确度将受影响
浮点数:使用小数点记录数据, 例如:3.4,5.6

字符串(String)

字符串中部分特殊字符必须加上右划线 常用的转义字符 \n:换行 \':单引号 \":双引号 \:右划线

<script>
    var str="\u4f60\u597d\n欢迎来到\"JavaScript世界\"";
    alert(str);
</script>

布尔型(Boolean)

Boolean类型仅有两个值:true和false,也代表1和0,实际运算中true=1,false=0

    if (true){
        alert("sucdess!");
    }

Undefined

如果声明了某个变量,但是未对它赋值,则该变量是 Underfined 类型

     var a;
     alert(a);

Null

Null 只有一个专用值 null,即它的字面量。表示尚未存在的对象, 如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。

var a = null;
     alert(a);

数据类型转换

数字 + 布尔值:true转换为1,false转换为0
alert(1+true);          //结果为 2
alert(1+false);         //结果为 1

字符串 + 布尔值:布尔值转换为字符串true或false
alert("hello"+true);    //结果为 hellotrue
alert("hello"+false);   //结果为 hellofalse

数字 + 字符串:数字转换为字符串
alert(1+"hello");       //结果为 1hello

强制类型转换函数

函数parseInt: 强制转换成整数

    alert(parseInt(3.14));        //结果为 3
    alert(parseInt("3.14"));      //结果为 3
    alert(parseInt("3.14a"));     //结果为 3
    alert(parseInt("a3.14"));     //结果为 NaN, 当字符串转换成数字失败时就为 NaN, 属于 Number;
    alert(parseInt("31a4"));      //结果为 31

NaN

    alert(NaN==0);           //结果为 false
    alert(NaN>0);            //结果为 false
    alert(NaN<0);            //结果为 false
    alert(NaN==NaN);         //结果为 false

类型查询函数(typeof)

    var i = 8;
    var s = "a";
    var b = true;
    var u = undefined;
    var n = null;
    var obj = new Object();

    console.log(typeof(i));     //结果为 number
    console.log(typeof(s));     //结果为 string
    console.log(typeof(b));     //结果为 boolean
    console.log(typeof(u));     //结果为 undefined
    console.log(typeof(n));     //结果为 object
    console.log(typeof(obj));   //结果为 object

ECMAScript 算数运算符

递增(++) 、递减(--)

    var a = 1;
    var b = ++a;       //先加减再赋值 

    alert(b);          //结果为 2
    alert(a);          //结果为 2

    var a = "aa";
    b = +a;
    alert(b);          //结果为 NaN
    alert(typeof(b));  //结果为 number

ECMAScript 逻辑运算符

逻辑 AND 运算符(&&)

逻辑 AND 运算的运算数可以是任何类型的,不止是 Boolean 值。
如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值:
如果某个运算数是 null,返回 null。
如果某个运算数是 NaN,返回 NaN。
如果某个运算数是 undefined,返回undefined。

    alert( 1 && 1 );      //结果为 1
    alert( 1 && 0 );      //结果为 0
    alert( 0 && 0 );      //结果为 0

逻辑 OR 运算符(||)

与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值

    alert( 1 || 1 );      //结果为 1
    alert( 1 || 0 );      //结果为 1
    alert( 0 || 0 );      //结果为 0

逻辑非(!)

取反

    alert( !0 );            //结果为 true
    alert( !1 );            //结果为 false
     alert( null == undefined );       //结果为 true
     alert ( "NaN" == NaN );           //结果为 false
     alert ( 5 == NaN );               //结果为 false
     alert ( NaN == NaN );             //结果为 false
     alert ( NaN != NaN );             //结果为 true
     alert ( false == 0 );             //结果为 true
     alert ( true == 1 );              //结果为 true
     alert ( true == 2 );              //结果为 false
     alert( undefined == 0 );          //结果为 false
     alert( null == 0 );               //结果为 false
     alert( "5" == 5 );                //结果为 true

ECMAScript 关系运算符

字符串之间比较

规则是是按第一字符串对比,若第一位相同则比较第二位。
字母 B 的字符代码是 66,字母 a 的字符代码是 97。

     var bResult = "Blue" < "apple";
     alert(bResult);                 //结果为  true

比较数字和字符串

规则为字符串 "88" 将被转换成数字 88,然后与数字 8 进行比较。

     var bResult = "88" < 8;
     alert(bResult);                //结果为  false

总结

比较运算符两侧如果一个是数字类型,一个是其他类型,会将其类型转换成数字类型。
比较运算符两侧如果都是字符串类型,比较的是最高位的 ASCII 码,如果最高位相等,继续取第二位比较。

控制语句

if 控制语句

if-else基本格式:

if (表达式){
语句1;
......
}else{
语句2;
.....
}

功能说明
如果表达式的值为true则执行语句1,
否则执行语句2

var x = (new Date()).getDay();
var y ;
if ( x == 6 || x == 0 ){
    y="周末";
}else{
    y="工作日";
}
alert(y);

if语句嵌套格式

if (表达式1) {
    语句1;
}else if (表达式2){
    语句2;
}else if (表达式3){
    语句3;
} else{
    语句4;
}

switch 选择控制语句

switch基本格式

switch (表达式) {
    case 值1:语句1;break;
    case 值2:语句2;break;
    case 值3:语句3;break;
    default:语句4;
}
var x = (new Date()).getDay();
switch(x){
    case 1:y="星期一";    break;
    case 2:y="星期二";    break;
    case 3:y="星期三";    break;
    case 4:y="星期四";    break;
    case 5:y="星期五";    break;
    case 6:y="星期六";    break;
    case 7:y="星期日";    break;
    default: y="未定义";
}
alert(y);

for 循环控制语句

功能说明: 实现条件循环,当条件成立时,执行语句1,否则跳出循环体
for循环基本格式

for (初始化;条件;增量){
    语句1;
    ...
}
  for (var i=1; i<10; i++){
    console.log(i);
  }

运行结果:

for i in 不推荐使用.

    var a = [8, "hello", true];
     for (var i in a){
        console.log(i)
        console.log(a[i])
     }

运行结果:

while 循环控制语句

运行功能和for类似,当条件成立循环执行语句花括号{}内的语句,否则跳出循环

while循环基本格式
while (条件){
语句1;
...
}
var i=1;
while (i<=7) {
    document.write("<H"+i+">hello</H "+i+">");
    document.write("<br>");
    i++;
}

js:一些基础的更多相关文章

  1. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  2. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  3. css+js+html基础知识总结

    css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...

  4. JavaScript基础精华02(函数声明,arguments对象,匿名函数,JS面向对象基础)

    函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回 ...

  5. JavaScript--我发现,原来你是这样的JS(基础概念--灵魂篇,一起来学js吧)

    介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容,当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂 ...

  6. js复习--基础

    最近工作遇到了一些小困难,基础真的很重要,漫天高楼起于地. 一,script元素 包括type=“text/Javascript”,defer延迟到html加载完解析,src=“../../test. ...

  7. 第八节 JS运动基础

    运动基础 让Div运动起来 速度——物体运动的快慢 运动中的Bug 不会停止 速度取某些值会无法停止 到达位置后再点击还会运动 重复点击速度加快 匀速运动(速度不变) 运动框架及应用: 运动框架: 在 ...

  8. JS零基础一步一步做应用全记录

    1.起因 作为几个外卖重度依赖癌晚期患者,呆宿舍的时候几个人一起叫外卖已经是常事.偶然看到隔壁宿舍在饿了么订餐的时候,看到在饿了么的首页上有一个谁去拿外卖的一个小游戏/工具,感觉这个小细节,饿了么把握 ...

  9. 认识JS的基础对象,定义对象的方法

    JS的基础对象: 1.window       //窗口对象 2.document   //文档对象 3.document.documentElement      //html对象 4.docume ...

  10. 贰、js的基础(一)

    1.js的语法 a.区分大小写 b.弱类型变量:变量无特定类型 c.每行结尾的分号可有可无 d.括号用于代码块 e.注释的方法与c语言和java相同 2.变量 注意事项: a.通过关键字var来声明. ...

随机推荐

  1. docker应用实例——httpd

    docker可以用来创建虚拟环境跑应用,各个应用能起到隔离作用. 步骤也很简单,就是获取(下拉镜像)应用,然后进行安装就可以了 1.搜索镜像,比如我想虚拟一个httpd应用,可以看到,有httpd这个 ...

  2. proxmox网络

    root@t1:~# cat /etc/network/interfaces# network interface settings; autogenerated# Please do NOT mod ...

  3. mysql的事务和数据库锁的关系

    数据库加事务并不是数据就安全来了,事务和锁要分析清楚和配合使用 问题背景处于对高并发的秒杀环节的理解整理如下: 秒杀的时候高并发主要注意1.在秒杀的情况下,肯定不能如此高频率的去读写数据库,会严重造成 ...

  4. LOJ 2547 「JSOI2018」防御网络——思路+环DP

    题目:https://loj.ac/problem/2547 一条树边 cr->v 会被计算 ( n-siz[v] ) * siz[v] 次.一条环边会被计算几次呢?于是去写了斯坦纳树. #in ...

  5. Linux 定时任务Crontab的使用

    1.准备好Java程序,导出为Jar文件 如myProject.jar 2.写Shell脚本 startTask.sh echo 'start...' cd  /home/root/yourFolde ...

  6. 2--STM32+USB移植+HID 与AUDIO类MIDI设备组成的复合设备(原创)

      前期准备: 一.硬件资源:STM32F103,USB-FS固件库. 链接: STM32 之 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序) https://blog.csdn. ...

  7. sum(case when ct.tradeTotal >= 0 then 1 else 0 end)的意思

    String hql = "select new com.ks.admin.report.dto.ReportMonthWithDrawalDto(" + "count( ...

  8. 用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书)

    用openssl为EAP-TLS生成证书(CA证书,服务器证书,用户证书) 来源: https://www.cnblogs.com/osnosn/p/10597897.html 来自osnosn的博客 ...

  9. vim替换的两种方式

    最近操作一个超过30MB的一个文本文件,常用的编辑器打开就死.最后使用Vim,一路非常顺畅.不愧是久经历史考验的编辑器. 如何在Vim中将空格更换为\t 这个使用\s功能.具体命令为:\s\ \/t/ ...

  10. 1、redis 基础

    1.1 导言 如果你从来没使用过 Redis 数据库,那你肯定会问,为什么我们要学 Redis数据库,我只使用 MySQL 或 Oracle 就够了.其实 Redis 虽叫数据库,可又不是传统意义上的 ...