数组原型toString()vs Object toString()(Array Prototype toString() vs Object toString())
var d = []; console.log(typeof d); // weird! console.log(d.toString()); //Prints nothing since there are no elements in the array console.log(Object.prototype.toString.call(d)); // better!
当我在第一个console.log打印对象上面运行代码时,由于数组是一个对象,第二个console.log打印[object Array],所以这是期望的。 我对
Object.prototype.toString.call(d)
如何工作有点困惑。所以我知道数组原型上的toString方法只是试图打印出数组内部的元素。 但是当你在基础对象的原型上调用toString方法时,toString方法到底做了什么? 它是否也尝试打印出数组的元素? 基础Object上的toString方法也使用关键字
this
因为我们使用.call
,它会在调用函数时更改this关键字指向的内容。var d = []; console.log(typeof d); // weird! console.log(d.toString()); //Prints nothing since there are no elements in the array console.log(Object.prototype.toString.call(d)); // better!
When I ran the code above the first console.log prints object, which is expected since an array is an object and the second console.log prints [object Array]. I am a little confused on how
Object.prototype.toString.call(d)
works.So I know the toString method on the array prototype simply tries to print out the elements inside of an array. But when you call the toString method on the base Object's prototype what exactly does that toString method do? Does it try to print out the elements of the array as well? Also does the toString method on the base Object use the keyword
this
since we are using.call
which changes what the this keyword points when a function is invoked.
原文:https://stackoverflow.com/questions/33769155
最满意答案
这可能是最简单的方法。 将包含文件更改为包含字符串。 如果定义了该字符串,请将其包含在标头中。
<php $script = "<script src='myfile'></script>"; include("header.php"); ?>
PHP包含文件
<html> <head> ... // if $script is defined, include it <?php if( isset($script) ){ echo $script; } ?> </head>
This would probably be the easiest way. Change your include file to include string. If that string is defined, include it in the header.
<php $script = "<script src='myfile'></script>"; include("header.php"); ?>
PHP Include File
<html> <head> ... // if $script is defined, include it <?php if( isset($script) ){ echo $script; } ?> </head>
相关问答
更多-
从PHP页面调用R脚本(Calling R Script from PHP Page)[2023-07-16]
上面的代码假设您的文档根目录是www,并且图像是从R生成的
你应该使用一些基本的模板形式。 假设您的标题如下所示:Welcome to my site!
Welcome to m ...
是否有可能需要使用PHP的输出缓冲区来解决这个问题? 解析脚本时,在函数中输出表单可能会将其抛弃,因为在运行其余脚本之前将解析函数。 此外,您应该使用strcmp来比较字符串,而不是==符号。 strcmp vs == 尝试使用输出缓冲区功能,看看是否修复它。 它看起来像这样: function showForm($error=""){ ob_start(); ?>你不能像那样重定向用户。 AJAX调用只能发送和接收数据。 而是在您的AJAX调用的成功函数中使用window.location.href = ''重定向用户。 所以,而不是 做 然后在你的script使用返回的值,如: function(data, textStatu ...在检查域名资格的页面上,您将有以下内容:根据您的最终目标,有多种方法可以对此进行管理。 您可以只使用单独的文件,当用户提交表单时,它会转到下一页,即。 firstform.php - > SUBMIT转到 - > secondform.php,依此类推。 这样,如果您检查他们的输入而不是您喜欢的内容,您可以将它们发送回上一页/表单,并附带一些错误消息以更正他们的选择。 您可以像现在一样使用GET或POST 您可以使用一个页面/文件(比如forms.php)并使用PHP来确定用户所处的阶段。 示例 - 假设您有用户输入他们想要的图片数量,然后询问他 ...现在由于项目编写得非常糟糕,完全没有评论的痕迹,模型是项目中最薄的部分,控制器动作和每个控制器写入的每个逻辑都超过2k LOC 该项目注定失败,代码垃圾。 我甚至不必看到它,这足以让它知道。 我在我的桌子上有这种垃圾来“拯救”它但它没有任何意义。 重写总是比回收这种级别的垃圾便宜。 Debugger :: trace()将为您提供从哪里调用它的跟踪。 您正在以任何方式浪费时间使用您的方法(第4点):您不需要检查Ajax调用的代码,每个现代浏览器都有一个开发工具(在Chrome中按F12),通常有一个网络选项 ...如果要在将表单内容发送到服务器之前(例如在客户端)处理表单的内容,则必须使用JavaScript而不是PHP来完成。 有关如何执行此操作的介绍,请尝试谷歌“javascript表单验证”或类似的东西。 一个很好的起点可能是本教程 。 您可能还想查看jQuery ,这使得编写JavaScript变得更容易,并且已经成为编写适用于所有浏览器的JavaScript代码的标准方法。 If you want to process the contents of a form before they are sent ...将PHP添加到.html页面(Adding PHP to a .html page)[2021-11-22]
需要告诉服务器通过PHP引擎运行文档。 这通常通过为文件提供.php扩展名来完成。 您还可以将服务器配置为通过PHP传递其他文件扩展名或特定文件的文件,但是如何执行此操作取决于服务器(并且是服务器配置而非编程)。 The server needs to be told to run the document through the PHP engine. This is usually done by giving the file a .php extension. You can also config ...这可能是最简单的方法。 将包含文件更改为包含字符串。 如果定义了该字符串,请将其包含在标头中。"; include("header.php"); ?> PHP包含文件 ... // if $script is defined, include it This would ... 相关文章
更多- Guava学习笔记:复写的Object常用方法
- Object Oriented Programming
- Cannot expose request attribute 'website' because of an existing model object of the same name 的解决方案
- 从 prototype.js 深入学习 javascript 的面向对象特性
- 怎么得到String数组?
- 原型模式
- 不显示删除回复显示所有回复显示星级回复显示得分回复 请问java Object的hashcode()方法是怎么实现的啊,内部的算法是什么啊
- 这个测试,为什么总是false
- JAVA设计模式学习9——原型模式
- Java 数组
最新问答
更多- h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
- 创建一个功能(Create a function)
- 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
- PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
- Qt冻结循环的原因?(Qt freezing cause of the loop?)
- TableView重复youtube-api结果(TableView Repeating youtube-api result)
- 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
- SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
- 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
- 以编程方式创建UITableView(Creating a UITableView Programmatically)
- 如何打破按钮上的生命周期循环(How to break do-while loop on button)
- C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
- 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
- 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
- Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
- 设置kotlin扩展名(Setting a kotlin extension)
- 如何并排放置两个元件?(How to position two elements side by side?)
- 如何在vim中启用python3?(How to enable python3 in vim?)
- 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
- 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
- Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
- dedecms如何安装?
- 在哪儿学计算机最好?
- 学php哪个的书 最好,本人菜鸟
- 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
- 如何覆盖错误堆栈getter(How to override Error stack getter)
- 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
- USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
- 电脑高中毕业学习去哪里培训
- 正则表达式验证SMTP响应(Regex to validate SMTP Responses)