php与js的区别是什么


Posted in Javascript onAugust 05, 2013

1,类型转换的不同

在javascript中

空对象和空数组转换为boolean值为true;

但在php中

空对象空数组转换为boolean值为false;

(仅在php4中空对象的boolean值为false)

包括非0的负数值,都是转换为true;

2,实形参的不同

在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参

而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)

function mao(val1,val2,val3){ 
} 
mao(aa,bb);

此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错

function mao(val1,val2,val3="123"){ 
} 
mao(aa,bb);

js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,
本质原因由于php不存在原型连,执行过程中没有变量对象。

3.数据类型的不同

js中有undefined类型,php中无此类型,

因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;

并且js中只有number类型,而在php中无此类型,取代的为int float类型;

4.字符串的连接

js中使用加号 + +=

php中使用点号 ..=

5.控制语句的区别

else if与elseif在php中都支持,js只支持前者

6.大小写问题

js严格区分大小写

php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。

7.变量的作用范围

php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的
程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。

js由于原型连的关系,可直接调用

8.静态变量

PHP支持声明函数变量为静态的(static)

js随无静态变量但可以定义函数的属性来冒充静态变量

Javascript 相关文章推荐
js 弹出菜单/窗口效果
Oct 30 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
DOM 高级编程
May 06 Javascript
Node.js中多进程模块Cluster的介绍与使用
May 27 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
详解angular脏检查原理及伪代码实现
Jun 08 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
Vue实现回到顶部和底部动画效果
Jul 31 Javascript
Layui数据表格跳转到指定页的实现方法
Sep 05 Javascript
js实现点击按钮随机生成背景颜色
Sep 05 Javascript
IE下写xml文件的两种方式(fso/saveAs)
Aug 05 #Javascript
js获取input标签的输入值实现代码
Aug 05 #Javascript
js实现页面转发功能示例代码
Aug 05 #Javascript
Jquery:ajax实现翻页无刷新功能代码
Aug 05 #Javascript
jquery js 重置表单 reset()具体实现代码
Aug 05 #Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 #Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 #Javascript
You might like
php截取中文字符串不乱码的方法
2013/12/25 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
理解AngularJs指令
2015/12/10 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
vue视频播放暂停代码
2019/11/08 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
python中List的sort方法指南
2014/09/01 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
Python文件路径名的操作方法
2019/10/30 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
应届生财务会计求职信
2013/11/05 职场文书
服务员岗位责任制
2014/02/11 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
JavaScript流程控制(分支)
2021/12/06 Javascript
Python数据处理的三个实用技巧分享
2022/04/01 Python
python运算符之与用户交互
2022/04/13 Python