一、简单好学、富有表现力:

1.1 JavaScript简介:
JavaScript用来制作web页面交互效果,提升用户体验。
简单列出几个:轮播图、选项卡(Tab栏)、返回顶部按钮动画、地图、表单验证等等。

web前端三层来说:

  • 结构层 html 从语义的角度,描述页面结构。
  • 样式层 css 从审美的角度,美化页面
  • 行为层 JavaScript 从交互的角度,提高用户体验。

1.2 JavaScript分为几个部分:

  • 语言核心
  • DOM 就是控制html中的元素,比如让盒子移动、变色、轮播图
  • BOM 就是控制浏览器的一些东西,比如让浏览器自动滚动等。

二、JavaScript是前台语言,而不是后台语言:

用户访问了一个网址,这些服务器上面的文件,传输到了用户的电脑里面, HTML、CSS、JS都是在用户的电脑里面运行的,然后在浏览器中渲染。

那什么是后台语言呢?
客户端电脑提交表单http请求发送给服务器,后台语言开始运行,往数据库中保存
数据,进行增删改查。
后台语言处理完,又将HTML、CSS、JS发送给客户端电脑了。

JavaScript运行在客户端的电脑里面,而不是服务器上,所以我们称为“前台语言”。
JavaScript就是一个简单的制作页面效果的语言,不能操作数据库。就是服务于页面的交互效果、美化、绚丽。
“后台语言”是 运行在服务器上的,比如php、asp、jsp等等。

三、第一个JavaScript程序:

3.1 书写的位置:
在页面中,<script type="text/javascript"></script>标签对儿,里面就是书写JavaScript程序的地方。

<script type="text/javascript">
      
</script>

text表示什么?纯文本,javascript也是一个纯文本的语言。
3.2 alert()语句:
alert(); 代表警告的意思。用途就是弹出“警告框”。

<script type="text/javascript">
            alert("我一定好好学习");
</script>

如果我们想弹出两次警告框,那么就要写两条语句:

alert("今天天气真好");
            alert("哈哈哈哈");

程序是一句一句的执行,执行完上一句,再执行下一句。
3.3 javascript语法规则:

  • javascript对换行、缩进、空格不敏感。
  • 每一行语句末尾都要加上分号,虽然分号不是必须加的,但是为了程序压缩方便,我们要求大家必须加。比如你不加分号,今后我们的程序一旦压缩,就无法使用了
  • 所有的符号都是英语的。
    3.4 注释:
    程序中,为了便于理解,我们可以写一些给人看的东西,这些内容就是注释,程序不会运行。
    单行注释:\
    多行注释:
\*  *\

html:注释

<!--注释内容-->

css: 注释

/* 注释内容 */

四、直接量:

直接量也称为“字面量”,就是看见什么,它就是什么。
简单的直接量有2种:数值、字符串。

数值的直接量表达非常简单,写上去就行了。
alert(886);
字符串,“haha”等单词、句子。一定要加上引号。
alert(“哈哈哈哈”);
f12调取控制台,选择console就是“控制台”,这个里面有错误的提示。

五、控制台输出语句:

console.log(“haha”);
console表示控制台。 log就是日志的意思。
表示在控制台中输出。控制台在chrome浏览器的f12中。控制台是工程师、程序员调试程序的地方。我们经常使用这条语句输出一些东西,来测试程序是否正确。很像电工用的“电笔”.
百度在控制台中,藏有招聘信息。就是通过console.log();进行做的。

六、变量:

6.1 整体感知:
计算机的程序中,用字母来表示数字、字符串等其他东西的,称为"字符串"。
var a=100;
这是一个固定的语法,我们使用var来定义一个变量。
var 就是一个关键字,这些关键字都有特殊的功能,关键字后面一定要有空格隔开。
6.2 变量的命名规范:
变量只能由英语字母、数字、下划线、美元符号构成,且不能以数字开头,并且不能是 javascript关键字。
6.3 大小写敏感:
6.4 变量的定义和赋值:
变量用var来定义,只有定义之后,这个变量才能够使用。
6.5 正确认识变量:
正确区分变量和字符串。
var a=100;
console.log(a);
console.log(“a”);

七、变量的类型:

变量里面能够存储数字、字符串。变量会自动的根据存储的东西类型不同,来决定自己的类型。
7.1 数值型:number
如果一个变量中,存放了数字,那么这个变量就是数值型的。

var a=23; console.log(typeof a);

typeof用于检测类型。表示“某某的类型”

语法:
typeof 变量
JavaScript中,只要是个数、那么就是数值型,无论整浮、无论大小、无论正负、无论范围,都是number类型的。

7.2 字符串:string
string就是字符串型的意思。
var a=“abc”; var a=""; 空字符串也是一个字符串。
7.3 连字符和加号
键盘上+在js中有两层含义:
1、连字符
2、加
如果加号两边都是数值,此时是加。否则,就是连字符。

八、变量值传递:

语句: a=b;
将等号右边的值,赋给左边的值,等号右边的变量,值不变。

var a="1";
   var b=2;
   a=a+b;
   b=b+a;
   console.log(a);
   console.log(b);

结果:a=12 b=212

var a=2;
var b="hello";
var c;
c=a;
a=b;
b=c;
console.log(a);
console.log(b);

结果:a=“hello” b=2;
这说明,不同类型的可以进行相互赋值,其实想想也是对的,都是var类型的,可以进行转换。 和java等不一样。

九、运算符和表达式:

运算符有很多分类:数学运算符、逻辑运算符、自增运算符等等。
math函数:Math.pow(3,4); 3的4次方。

十、得到用户的输入:

var a=prompt(“请输入点什么”); //用户输入的,会赋值给a变量。
prompt就是专门用来弹出能够让用户输入的对话框。
不要认为得到的是一个字符串,var是自动类型,自己可以判断的。

十一、字符串—数字:

方法就是parseInt(“5”); 结果就是数字5
parse是英语里面转换的意思,Int就是整数的意思。

  • parseInt带有自动净化的功能:
    console.log(parseInt(“365天每天都爱你10000次”);
    后面的中文自动消失,只保留最开头的数字。
  • 自动带有取整的功能。
    parseInt(5.8); 输出为5.

总结一下,parseInt是一个非常多功能的函数,可以将字符串转为数字,也可以将数字取整。

十二、隐式类型转换:

+这个符号到底是什么意思,必须要看左右的东西是什么类型的。如果都是数字,那么就是加;否则,就是连字符。
但是,其他的运算符,是完全没有歧义的。比如*、-、/、%、。这些运算符,就是用来计算的。所以我们的计算机,会帮我们进行一下隐藏的格式转换。

也就是说,如果使用-、*、/、%。即使不进行格式转换,也是对的。计算机自动帮我们进行“隐式转换”。

var a="4"+3;
var b=a-6;
结果是:37

但是,即使计算机有“隐式转换”,一个靠谱的程序员,一定要自己完成转换。否则,
其他人看你的代码,有可能造成误会。

接受的东西,必须通过parseInt()等函数进行类型转换。
扩展一下知识:
parseInt() 将字符串转为整数。
parseFloat() 将字符串转为浮点数(小数)