JavaScript学习记录——1

1.javascript初印象

从网上了解到资料看来,该语言最初是一种用于修饰网页页面的脚本语言,是由谷歌的一位大佬开发的,用于页面的进一步美观,由V8引擎作为其解释器。

我之所以对该语言进行了解,是因为在我申报课题用QT开发一个应用的时候,老板在旁边说,QT早都过时了,现在都是用nodejs进行开发。

其原本是只能依靠浏览器中的V8引擎去进行解释的,但是由于谷歌对V8引擎源码的公开,有一些开发者们就将原有的V8引擎框架进行打包,并融入了一些其他模块。使其脱离了Chrome,可以独立运行于一些设备中。

2.语法部分

js的语法相较于C++要简单的多,且其编译过程比较简单,主要是靠由C++编写的node运行环境对js的代码进行一个解析。

相较于C++的预编译、编译、汇编、链接,js需要在意的只有预编译。其所有变量在预编译阶段就已经被记录,也就是说只要一个变量(一个number的对象,或者一个函数),只要在该文件中声明了,那么引用了该变量的部分就不会报错,无论二者的先后顺序(最多有一个“该变量未定义“的提示出现)。

2.1类型定义

关于其在定义时候的类型,并没有C++那样如此的繁琐,主要的就是 ”var“ 关键字,如:

var str = "字符串类型";
var str = 3.14;
var num = 1;                // 定义一个变量 num 并将其赋值为 1
var a = 2, b = 3, c = 4;    // 同时定义 a、b、c 三个变量并分别赋值为 2、3、4
// var a = 2,               // 为了让代码看起来更工整,上一行代码也可以写成这样
//     b = 3,
//     c = 4;      

可以发现,一个var关键字,后面跟上你想要赋的值,其他的不用管,node能自动帮助你进行识别,就很神奇(对了,顺带插一嘴,git上面有v8和node的源码的,但是我没能看懂这个功能是怎么实现的,有大牛指点吗?),

还有两个基本对象声明关键字let与const,let就相当与局部变量,const就是常量。然后是引用对象类型,如Object,Array,Function。

2.2输出语句汇总

(1)alert():

该函数会在浏览器中弹出一个提示框,框中会显示()中的内容,值得注意的是其只能输出字符串的内容。该函数是window对象中的一个函数,所以为了避免一些不必要的错误,我们尽量使用window.alert()的形式来进行调用。

(2)confirm():

其与alert()类似,也是window对象下的一个函数,同样是弹出一个提示框,但是会有一个‘取消’的按键,在这里点击‘确定’或‘取消’是会返回一个布尔值的,亦可以根据这个bool值进行下一步输出。

(3)console.log():

该函数的输出信息是打印在控制台的,通常是使用该输出来调试程序,与上述两个函数不同的是,其不能进行简写,必须加上前面的对象。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
</head>
<body>
    <script type="text/javascript">
        var myArr = ["Chrome","Firefox","Edge","Safari","Opera"];
        console.log(myArr);
    </script>
</body>
</html>

效果如图。

(4).document.write():

该函数可以向HTML中写入HTML或javascript代码,可以同时接收多个目标:

document.write(exp1,exp2,exp3);

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript</title>
</head>
<body>
    <script type="text/javascript">
        document.write("<p>现在的时间是:</p>",Date());
    </script>
</body>
</html>

示例代码如上

(5)innerHTML

与前面介绍的几个函数不同,innerHTML是一个属性而不是函数,通过它可以设置或者获取指定HTML标签中的内容。

<div id = "sgr">javascript 输出</div>
<script type="text/javascript">
	var sgr = document.getElementById("sgr");
	console.log(sgr.innerHTML);
	sgr.innerHTML="<h2>innerHTML</h2>";
	sgr.innerHTML="<h2>QT</h2>";
</script>

这里笔者想了一下为什么最后输出的是QT,我想解释器在执行的时候是先进行预编译确定了已有对象,再执行<script>标签中的js代码,最后再对HTML代码进行执行,也就是说js代码与普通html的执行并不是在一个时候。以上为笔者瞎想,欢迎指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值