js笔记——js的特点、变量、运算符

JavaScript的特点

  1. 解释性语言
    解释性语言的程序不要编译,省了道工序,解释性语言在运行程序的时候才翻译,每一个语句都是执行的时候才能翻译。这样解释性语言每执行一次要翻译一次,效率表较低。 如:python,js
    编译型就是编译的时候直接编译成机器可以执行的(.exe .dll .ocx),编译和执行是分开的,但是不能跨平台。因为翻译只做了一次,运行的时不要翻译,所以编译型语言的程序执行效率高。如:c,c++
    注意java既不是解释性语言也不是编译性语言,因为.java程序要先编译成.class文件,再由jvm解释执行。
  2. 单线程
    一个执行体同时只能干一件事(同步)
    补充:在计算机中同步和异步的区别:同步表示只能干一件事,异步表示可以同时干好几件事。
  3. ECMA标准
    为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可以在浏览器上运行。为了统一规格JavaScript兼容与ECMA标准,因此也称为ECMAScript。

JavaScript的三大大部分

  1. ECMAScript:描述了该语言的语法和基本对象,如类型、运算、流程控制、面向对象、异常等。
  2. DOM:文档对象模型,描述处理网页内容的方法和接口。
  3. BOM:浏览器对象模型,描述与浏览器进行交互的方法和接口。

浏览器的组成

  1. shell
  2. 内核:渲染引擎(语法规则和渲染)、js引擎、其他模块

几大主流浏览器

浏览器内核
IEtrident
Chromewebkit/blink
firefoxGecko
Operapresto
Safariwebkit

引入js的两种方法

  1. 在页面内嵌入<script><script>标签,
  2. 在外部引入<script src=“location” ><script>
    注意:
  • 为符合web标准(w3c标准中的一项)结构、样式、行为相分离。通常会采取外部引入。
  • <script type=“text/javascript” ><script>中type="text/javascript"可以不写,但是不能写错。
  • 页面内嵌的方法引入和外部引入不能同时使用,否则只有外部引用有效。
    index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript" src="1.js">
        document.write('内嵌');
    </script>
</body>
</html>

1.js

document.write('外部引入');

运行结果:外部引入

js中的变量

  • 严格来说,html和css并不是一门编程语言,因为其中没有变量
  • 变量的声明:var a; var a,b,c,d;
  • 变量赋值:a=100;
  • 可以在声明的时候直接赋值:var a=10;
  • 变量命名规则:
  1. 变量名必须以英文字母、_、$开头
  2. 变量名可以包括英文字母、_、$和数字
  3. 不可使用系统的关键字、保留字(现在还没有被使用,但以后可能会使用)作为变量名

js基本语法

1.值类型-数据类型
  • 不可改变的原始值(栈stack数据):Number(数字:包括整数和小数)、String(字符串类型,单引号和双引号都行)、Boolean(布尔)、undefined(声明但是没有赋值)、null(表示一种占位,表示空)
  • 引用值(堆heap数据):array(数组)、object(对象)、function(方法)等等。
区别

原始值:栈内存的赋值为拷贝赋值

    var a=10;
    var b=a;
    a=20;
    document.write(a);//20
    document.write(b);//10

引用值:

    var a=[1];
    var b=a;
    a.push(2)
    document.writeln(a);//[1,2]
    document.writeln(b);//[1,2]
js语句基本规则
  • 语句后面要用分号结尾
  • 书写格式要规范,"= + - * /"两边都应该有空格
  • js语法错误会引发后续代码终止。但不会影响其他代码块,例如:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        var a=10;
        document.writeln(b);//会报错:Uncaught ReferenceError: b is not defined
        document.writeln(a);//a不会被打印
        //但是下面代码块中的hello world还会被打印
    </script>
    <script type="text/javascript">
        document.writeln('hello world');
    </script>
</body>
</html>

js运算符

  • “+”:
  1. 数学运算,字符串链接
  2. 任何类型加上字符串都等于字符串
  • “-”、"*"、"/"、"%"、"="、"()"
  • 优先级"=“最弱,”()"优先级较高
  • 此外还有"+="、"-="、"/="、"%="、"*="、"++"、"–"(和java/c/c++一样,不再赘述)
  • 下面演示一些和静态语言不同的特性:
document.writeln(1/0);//Infinity:表示无穷,属于Number类型
document.writeln(-1/0);//-Infinity
document.writeln(0/0);//NAN:表示不是一个数字(Not a Number),属于Number类型

练习:

var a = 10;
var b = ++a -1 + a++;
document.write(b+' '+a);//21 12相当于b=(++a)-1+(a++)=11-1+11
var a = 1;
var b = a++ + 1;
document.write(b); //2
var c = 1;
var d = ++c + 1;
document.write(d); //3
var a = 1;
var b = a-- + --a;
document.write(b); //0 相当于b=(a--)+(--a)=1+(-1)
document.write(a); //-1
var a = 1;
var b = --a + --a;
document.write(b); //-1 相当于b=(--a)+(--a)=0+(-1)
document.write(a); //-1
var a = 0;
a %= 5;//0   0对其他数取余为0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值