JavaScript基础

JavaScript基础

如何引入js

  1. 页面内嵌<script></script>标签

  2. 外部引入<script src="location"></script>

为符合web标准 (w3c标准中的一项) 结构(html) / 样式(css) / 行为(js) 相分离, 通常会采用外部引入.

外部引入优先级高于页面内嵌标签.

js基本语法

变量

变量声明:

声明: var a;

赋值: var a = 100;

命名规则

  1. 变量名必须以 英文字母 / _ / $ 开头.

  2. 变量名可以包括英文字母 / _ / $ / 数字.

  3. 不可以用系统的关键字 / 保留字作为变量名.

值类型 – 数据类型

赋值形式不同

  1. 不可改变的原始值 stack (栈数据): 拷贝值

Number, String, Boolean, undefined, null

var a = 1; //数值
var b = "一二三"; //字符串:汉字 / 数字 / 字母
var b = true; //false   布尔值
var b = undefined; //经过声明没赋值
var b = null; //占位值(空值,用来覆盖)
  1. 引用值 heap (堆数据): 拷贝地址

array, object, function

//数组
var arr = [1,2,3,true,"abc"];
var n = arr.length; //数组长度
//对象
var obj = {
//key属性名  value属性值
    name : "名字", //必须用冒号和逗号
    age : 18,
    sex : undefined,
    beautiful : true
}
console.log(obj.name);
obj.name = "姓名"; //修改属性值
console.log(obj.name);

js语法基本规则

  1. 语句后面必须加分号.

不需要加分号的:

function test() {}
for() {}
if() {}
  1. js语法错误会引发后续代码终止, 但不会影响其他js代码块
  • 低级错误 (语法解析错误)

  • 逻辑错误 (标准错误, 情有可原)

没有定义变量时, 只有typeof(a);这种情况不报错 (返回undefined).
typeof(typeof(a));返回string.

  1. 书写格式要规范, "= + / -"两边都应该有空格

输入弹出框: var n = parseInt(window.prompt('input'));
输出值: document.write();
输出弹出框: alert();

js运算符

运算操作符

“+”:

  1. 数字运算 / 字符串连接

  2. 任何数据类型加字符串都等于字符串

“-”, “*”, “/”, “%”, “=”, “()”

运算不能进行时输出 NaN (Not a Number)
无穷时输出 Infinity

优先级"="最弱, "()"最高

“++”, “–”, “+=”, “-=”, “/=”, “*=”. “%=”

比较运算符

“>”, “<”, “==”, “>=”, “<=”, “!=”

字符串比较ASCII码大小, 从第一个字符开始比较

逻辑运算符

“&&”, “||”, “!”

undefined, null, NaN, “”, 0, false 转换成布尔值都为false.

运算结果为真实的值
例如&&: 第一个值的布尔值为真, 则输出第二个表达式的值; 第一个值的布尔值为假, 则输出第一个表达式的值.

"!!"即为返回其布尔值

条件语句

  • if, if else if
if(条件){
    表达式;
}

if <–> && 转换

  • for
for(初始值;条件;表达式){
    表达式;
}
  • while, do while
while(条件){
    表达式;
}

do{
    表达式;
}while(条件);
  • switch case

执行符合条件的语句及其后面的所有语句

var n = window.prompt('input');
switch(n){
    case 1:
        console.log('a');
    case 2:
        console.log('b');
    case true:
        console.log('c');
}
  • break

终止循环,跳出循环语句

  • continue

终止本次循环,进行下一次循环

类型转换

typeof() 返回数据类型

返回值: number, string, boolean, object(数组也返回object), undefined, function

var num = 123;
console.log(typeof(num));

显式类型转换

  1. Number(mix)

转换为数字

var demo = "123";
var num = Number(demo);
console.log(typeof(num) + " : " + num);
//true转换为1, false / null转换为0, 非数字字符(串) / undefined转换为NaN
  1. parseInt(string,radix)

转换为整型

var demo = "123";
var num = parseInt(demo, 16); //以十六进制为基底转换为十进制 取值范围: 2-36
console.log(typeof(num) + " : " + num);
//布尔值转换为NaN,其他与Number相似
//从数字位开始查找到非数字位截止
  1. parseIFloat(string)

转换为浮点数

规则与parseInt相似

  1. String(mix)

转换为字符串

  1. Boolean()

转换为布尔值

除undefined, null, NaN, “”, 0, false 转换为false外,其他都转换为true.

  1. toString(radix)
var demo = 123;
var num = demo.toString(8); //以十进制为基底转化成八进制, 仍然为字符串类型
console.log(typeof(num) + " : " + num);
//undefined和null会报错

隐式类型转换

  1. isNaN()

判断是否为NaN, 返回值为true / false

将()中的值转换成Number()再判断是否为NaN

  1. ++/-- +/-(正/负)

将其转换成Number()再进行运算

  1. +

+前后有一个类型为字符串则调用String()将二者都变为字符串

  1. -*/%

调用Number()进行运算

  1. && || !

调用Boolean()

  1. < > <= >=

既有数字又有字符串则转换成Number(), 均为字符串则转换成ASCII码, 输出调用Boolean()

undefined和null与0比较均为false

  1. == !=

undefined == null / undefined != 0 / null != 0返回true, undefined == 0 / null == 0返回false

=== (绝对等于) !==(绝对不等于), 不进行隐式类型转换

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值