【JavaScript】冲一冲,马上就能筑起高楼

下载华为资源

一、字面量

● 1.都是一些不可改变的值,表示的是事/物;
● 2.字面量都是可以直接使用的(一般不推荐使用,使用起来比较麻烦);

二、变量

  • 1.变量可以用来保存字面量;
  • 2.变量的值可以改变;
  • 3.在开发中基本都是使用变量,使用字面量很少,基本不用字面量;

三、标识符

  • 1.js中所有可以由我们自主命名的都可以称为标识符;
  • 2.第一个字符必须是字母、下划线(_)或美元符号($);
  • 3.余下的字符可以是下划线、美元符号或任何字母或数字、字符;
  • 4.标识符不能是ES中的关键字或者保留字;
  • 5.标识符一般都采用驼峰命名法;
  • 6.首字母小写,每个单词开头字母大写,其余字母小写;
  • 7.Js底层保存标识符时实际上是采用的Unicode编码,所以理论上讲,所有utf-8中含有的内容都可以作为标识符;

四、变量声明

  • 在Javascript中变量声明ES5语法是只有var可以声明变量、在ES6语法中大多数使用let来声明变量,const声明常量

变量名需要遵守两条简单的规则:

  • 第一个字符必须是字母、下划线(_)或美元符号($)
  • 余下的字符可以是下划线、美元符号或任何字母或数字字符
//下面的变量都是合法的:
let test;
const $TEST;
var $1;
let _$te$t2;
  • 著名的变量命名规则只是因为变量名的语法正确,并不意味着就该使用它们。变量还应遵守以下某条著名的命名规则:
/*
一、Camel 标记法(小驼峰命名法)
首字母是小写的,接下来的字母都以大写字符开头。一般用于函数命名,例如:
*/

let myTestValue = 0, mySecondValue = "hi";

/*
二、Pascal 标记法(大驼峰命名法)
首字母是大写的,接下来的字母都以大写字符开头。一般用于构造函数命名,例如:
*/

let MyTestValue = 0, MySecondValue = "hi";

/*
三、匈牙利类型标记法
在以 Pascal 标记法命名的变量前附加一个小写字母(或小写字母序列),说明该变量的类型。例如,i 表示整数,s 表示字符串,如下所示:
*/

let iMyTestValue = 0, sMySecondValue ="hi";

注:变量声明不是必须的,但是没有声明的对象在调用时会报错,需要赋值才可使用

ECMAScript另一个有趣的方面(也是与大多数程序设计语言的主要区别),是在使用变量之前不必声明。例如:

var sTest = "hello ";
sTest2 = sTest + "world;
  alert(sTest2);

/*
在上面的代码中,首先,sTest被声明为字符串类型的值"hello"。接下来的一行,用变量sTest2把sTest与字符串"world"连在一起。变量sTest2并没有用var运算符定义,这里只是插入了它,就像已经声明过它一样。
ECMAScript的解释程序遇到未声明过的标识符时,用该变量名创建一个全局变量,并将其初始化为指定的值。
这是该语言的便利之处,不过如果不能紧密跟踪变量,这样做也很危险。最好的习惯是像使用其他程序设计语言一样,总是声明所有变量。
*/

//变量声明的形式:
var a;
Var a,b,c;

//变量赋值的形式:

var a = 10;
Var a = 10, b = 'abc', c = true;

prompt(); //浏览器弹出输入框
document.write(a); // 页面输出内容
console.log(b); // 控制台打印输出

五、常量

//常量声明,全大写为常量,常量按照规范不可变,且不允许重新赋值
const NUM = 3.1415926;

六 、数据类型

  • 基本数据类型

  • number 数字型(整数、小数、整数、负数)

  • string 字符串型

  • boolean 布尔型

  • undefined 未定义型

  • null 空类型

  • 引用数据类型

  • object 对象

//数字型
let a = 10;
let b = 'c' + a; // 结果为NAN,表示不明类型

//字符串型
let c = '立白';
let d = "wang";

//字符串拼接
document.write( '忘本' + a + d);

//字符串模板拼接
document.write(`大家好,我叫${c}, 今年${a}`);
/*
在字符串中我们可以使用\作为转义字符,当表示一些特殊符号时可以使用\进行转义
常用转义字符:
\" 表示双引号
\' 表示单引号
\n 表示换行
\t 表示制表符
\\ 表示斜杠
*/

//布尔型 true false
let y = 10let e = 100;
document.write(y >e); // false

// undefined 未定义型
let p;

//null 空类型
let r = null;

//Array(数组)类型声明与赋值
let arr = [1, 2, 3, 4];
let arr1 = new Array(1, 2, 3);

/*
arr.push() 添加至数组末尾
arr.unshift() 添加至数组开头
arr.pop() 删除数组中的最后一个元素并返回该元素的值
arr.shift() 删除数组中的第一个元素并返回该元素的值 
arr.splice(操作的下标,删除的个数)

*/

//object(对象)类型声明与赋值
var obj = {
  name : 'liu',
  age : 100,
  sex : 'male'
}


//typeof() 判断数据类型,可以不加括号
typeof a;
typeof(r);

七、强制类型转换

类型转换:

一、显示类型转换

~~~javascript
//字符串转数字
let num = Number('123');
console.log(`${typeof(num)}${num}`);//提取转换数字 undefined不能转换成数字

let demo = "10"
//parseInt的目的是把数转换成整型的数,只转换数字或者字符串数字,以目标为基底(16进制)转换成10进制的数
let nums = parseInt(demo ,16 );//16为radix,取值范围在2-36进制这里的16表示十六进制
console.log(`${typeof(nums)}${nums}`); 

let str = "123abc"
let numStr = parseInt(str);//从数字位开始看,看到非数字位就截断,返回数字位
console.log(`${typeof(numStr)}${numStr}`);

//字符串转浮点数
let ints = "10"
let floatStr = parseFloat(ints);//转换成浮点型
console.log(`${typeof(floatStr)}${floatStr}`);

//数字转为字符串
let number = 1000
let strNum = String(number);//转换成字符串型
console.log(`${typeof(strNum)}${strNum}`);

let numberB = 1000
//转换成字符串型 undefined null不能用toString方法转换 toString(8),目标为转换成8进制
let strNumB = numberB.toString();
console.log(`${typeof(strNumB)}${strNumB}`);

//二进制转换成16进制
let bin = 10101010;
let bins = parseInt(bin , 2);
let strBin = bins.toString(16);
console.log(`${typeof(strBin)}${strBin}`);
~~~

二、隐性类型转换

//将数值放入这个方法内能判断这个数值是不是非数,以true和false呈现结果,是NaN为true,原理是把NaN中的数放到Number()中进行比对,在返回给NaN
isNaN()
let num = "123";
num ++/--; //结果为124/122,经过了Number的转换
let a = "abc";
/*
+ a;
- a;
=== 绝对等于
!== 绝对不等于
*/
alert(typeof(n));//undefined
alert(typeof(undefined));//undefined
alert(typeof(NaN));//number
alert(typeof(null));//object
let a1="123abc";
alert(typeof(+a1));//number
alert(typeof(!!a1));//boolean
alert(typeof(a1 + ""));//string**
alert(1 == "1");//true
alert(NaN == NaN);//false
alert(NaN == undefined);//false
alert("11" == 11);//true
alert(parseInt("123abc"));//123
let num = 123123.345789;
alert(num.toFixed(2));//123123.35
alert(typeof(typeof(a)));****//string**
  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ゞ长情.骅栢乄·&

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

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

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

打赏作者

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

抵扣说明:

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

余额充值